[Lammps] Grain Boundary

Hello
I want to develop grain boundary for aluminium. I already used the given concept on lammps tutorial site as using three intersecting regions. But it gives only one grain boundary (straight line). Now i want to develop so many grain boundary (finite number boundary). I came across an algorithm named voronoi tessellation algorithm. Please someone suggest me how i can do this using given algorithm or some other. Given link is wikipedia site for vornoi tesselation algorithm. Voronoi tesselation .

with high regards,
Anurag Kumar

This is a Q about how to build a complex system for input
to LAMMPS. I.e. it’s a pre-processing Q. LAMMPS doesn’t
distribute a tool to build a poly-crystalline sample. I suggest
looking on the web, or possibly someone on the mail list
will suggest a tool.

Steve

I don’t know of a tool to specifically build your system but I don’t think you need one. Your problem seem to have two parts. 1-) you need to know how many nano-grains will be distributed over the system (and how). You should look in the lit to see how people deal with this problem, i.e, average size of the grains, what kind of seed distribution they use to locate the grains, i.e, random? Once you know how to place your grains’ seeds inside your simulation box (cubic box for example) then you go to 2-) Loop over all grains/seeds by picking a random orientation for the lattice for each grain/seed and then start filling each grain according to the lattice vectors and chosen orientation while testing that atoms are only inserted if their distance to the given seed (lattice origin in each case) is smaller than that to any of the other seeds (definition of the Voronoi volume). The only extra requirement is to ensure that you break the loop of inserting atoms per grain/seed at some point but ensuring the grain has been fully filled (easy to do if you know the max grain size).
Note that in the procedure above you never have to worry about explicitly tessellating the space into Voronoi regions.
Carlos

I don't know of a tool to specifically build your system but I don't think
you need one. Your problem seem to have two parts. 1-) you need to know how
many nano-

​i think you do. i recall being asked to review a paper about an algorithm
that was discussing such an implementation of such a thing. there are
quite a few parameters that need to be tuned and tweaked to result in a
realistic distribution of ​grain sizes boundaries, healing regions and
reconstruction regions for people that do model things like compacted metal
(alloy) powders etc. however, this is even more tricky, since the grain
sizes in these materials are typically of such a magnitude, that it becomes
almost always prohibitive to do any realistic simulations due to the
excessive size of the resulting simulation boxes.

grains will be distributed over the system (and how). You should look in

the lit to see how people deal with this problem, i.e, average size of the
grains, what kind of seed distribution they use to locate the grains, i.e,
random? Once you know how to place your grains' seeds inside your
simulation box (cubic box for example) then you go to 2-) Loop over all
grains/seeds by picking a random orientation for the lattice for each
grain/seed and then start filling each grain according to the lattice
vectors and chosen orientation while testing that atoms are only inserted
if their distance to the given seed (lattice origin in each case) is
smaller than that to any of the other seeds (definition of the Voronoi
volume). The only extra requirement is to ensure that you break the loop of
inserting atoms per grain/seed at some point but ensuring the grain has
been fully filled (easy to do if you know the max grain size).

​filling the grains with atoms is indeed a small problem, but the size
distribution and particularly the packing is far from trivial if you stray
from all spherical shaped grains.​

Note that in the procedure above you never have to worry about explicitly
tessellating the space into Voronoi regions.

​indeed.​

I get your point on the complexity of the grain size/distribution in real life. Yet, mainly aimed to provide the author of the post with a simple method to fill the grains while avoiding Voronoi tesellation. As to the complexity of the grains and mimicking the real experimental microstructure I guess the answer really depends on what is exactly that he is after. Some people like to create ideal models to understand generic features that do not aim to mimic the quantitative but only some qualitative behavior of materials. Sometimes the models are nonesense but sometimes they are not too bad. The Frenkel-Kontorova model of friction is one of those useful ones which corresponds to a very idealized and simple representation of the system… My point is, adding complexity to the model does not necessarily ensure better capacity. But yes, reading the lit for hints is important and I mentioned this fact in my post.

Carlos