non-spherical particle generation via read_data command

Submitted by keepfit on Mon, 06/17/2013 - 13:33

Hi Chris,

I wonder how to read pre-defined data (x,y,z, radii, density) for atoms input.

For generation of particles with irregualar shapes, provided that I have a individual input file 'particle1.dat', and the content is like this:

// x y z radii density
-2.12 1.32 1.49 0.061 2202.2
-1.32 3.65 1.47 0.043 2044.5
1.65 2.67 1.51 0.023 2051.5
2.76 1.98 1.23 0.034 2107.2
....
// total N spheres

In order to correct the inertia moentum of the generated non-sphereical particle (overlapped or void space between spheres) compared to the original particle, the density of each sphere has been corrected instead of the same density.

So how to use 'fix rigid' command to readin this input file?

The last question, if there are N 'particle*.dat' files, how to use these files as a source of particle shape library, which can be used repeatedly (scalable and in different position).

Best,

David

andybond13 | Wed, 06/19/2013 - 19:50

I believe you need to put them into a file with the format:

then in the input file:
read_data data.dat
group A type 1
group B type 2 , etc.
fix 1 A rigid single
fix 2 B rigid single , etc.

Last question - no idea. Curious to find out myself.

MiRa | Fri, 02/21/2014 - 11:00

"In order to correct the inertia moentum of the generated non-sphereical particle (overlapped or void space between spheres) compared to the original particle, the density of each sphere has been corrected instead of the same density."

Are you sure this simple operation will yield the correct inertia momentum, since the inertia tensor is false with overlapping atoms?

zamir | Tue, 03/11/2014 - 18:40

David,

Regarding your last question,
"The last question, if there are N 'particle*.dat' files, how to use these files as a source of particle shape library, which can be used repeatedly (scalable and in different position)."

I tried to do this, but the problem I found was that the atomID's and molID's are not unique after you import the same read_data file twice. I think what you will need to do is write a bit of code to renumber the atomID's upon import. I wrote an external python script to do this. You can issue shell commands from the liggghts script, so this seemed to work for me.