rigid tetrahedron bodies

Submitted by saraanvari on Mon, 08/18/2014 - 08:03

Is there any way to produce a large number of rigid bodies with the grains in each rigid body arranged in a tetrahedral positions?
I have managed to produce small number of such rigid bodies by manually creating data-file and then "fix rigid group" atoms in each tetrahedron.
Now I can not think of a way to produce say 4000 rigid bodies like this.

Thanks

richti83's picture

richti83 | Tue, 08/19/2014 - 10:58

For LIGGGHTS-PUBLIC this is the only way I know (ask christoph for the commercial-support version which extends the insert/stream function to a version which can handle multibody prototypes).

But I have a created a little tool to multiply your initial prototype by increasing the atom-id based on a dumpfile from your pre-simulation step.
1st make a simple script with create_atom command to generate your prototype (or use insert/pack and fix adapt diameter to blow them up) dump the result in post/dump0.liggghts.
2nd Download cpp code here: http://www.richtisoft.de/transfer/dump2read.cpp, adapt line 148ff to your dump line
3rd compile with g++ -o dump2read dump2read.cpp and copy dump2read in the folder where your input skript lives.
4th Download simple bash script: http://www.richtisoft.de/transfer/create_batch.sh and adapt to your needs, copy in same folder where dump2read and post/ lives
5. chmod +x create_batch.sh
6. mkdir filling
7. ./create_batch.sh

after some while you get 4000 prototypes in folder filling/

Now you can use a loop inside your main script with read_data filling/filling_$i.pour add

You should think about more than one prototype with different initial positions or let liggghts run N steps between every read_data command to make sure the loaded atoms moved away from their generation-position !

Good Luck,
Christian.

I'm not an associate of DCS GmbH and not a core developer of LIGGGHTS®
ResearchGate | Contact

chewnins | Wed, 04/22/2015 - 01:14

I wrote a simple python script to generate input files.
I am not sure how to post it here, but here is the general process:

1. Define a target size of clump, and how much volume
2. Use the HCP packing type to build center positions for each clump : http://en.wikipedia.org/wiki/Close-packing_of_equal_spheres#Simple_hcp_l...
3. Generate a tetra clump at each location, that is bounded by the HCP packing volume size and write the data to a restart file.

This will get you a fairly dense packing of tetra clumps when imported into LIGGGHTS and using fix rigid.

richti83's picture

richti83 | Wed, 04/22/2015 - 10:04


I am not sure how to post it here, but here is the general process:

you can create a new thread and append your script (only the first post can attach files). Or use an upload service like googledrive, dropbox, .. and set read permissions to world and post the link here.
thx for sharing !
christian.

I'm not an associate of DCS GmbH and not a core developer of LIGGGHTS®
ResearchGate | Contact