Fill the rest of the box with a crystalline structure?

Hi all,

I have a polycrystalline nanoparticle which is heterogeneous in its shape (not completely spherical). I want to put it in a box and fill the other empty spaces with another crystalline structure.

Is this possible to do this job in lammps? How can I tell lammps only fill the empty space?

An option is: I can read the data file of the nanoparticle, put it in a group. Then, can I find the region for this group, and find the region of the rest of the box, and fill it? I couldn’t find this option!

Thanks

I guess it is not possible to have an arbitrary region geometry in Lammps.

As in all cases involving complex structures, I'll recommend to
construct them outside lammps.

For example, you could use the program Atomsk
(http://atomsk.univ-lille1.fr/doc.php). You merge your nanoparticle with
you other crystal, and then remove atoms with the option remove-doubles.

There is of course other solutions with other programs.

Julien

Hi all,

I have a polycrystalline nanoparticle which is heterogeneous in its shape (not completely spherical). I want to put it in a box and fill the other empty spaces with another crystalline structure.

Is this possible to do this job in lammps? How can I tell lammps only fill the empty space?

​the easiest way to realize this is to just fill the entire box, and then delete atoms that are too close​ to the atoms from the data file using the overlap keyword of delete_atoms and a suitably chosen cutoff. you may need to experiment a little bit, what is the best value for that, but for as long as your original system is dense, it should work well. otherwise, you may have to use delete_atoms multiple times, or use a spherical region (with the side option reversed from the default) that approximates the space that needs to be filled and created atoms only in that region then use the overlap option with delete_atoms to remove atoms where the two subsystems overlap.

axel.