Can we simplify the mass reading for the [hybrid molecular granular] style?

Submitted by ericparteli on Fri, 07/20/2012 - 23:48

Hi,

I want to build particles of complex shapes through using the multisphere approach with LIGGGHTS. I use:

atom_style hybrid granular molecular
(...)
neigh_modify delay 0 exclude molecule all
(...)
fix freezing all rigid molecule.

So far I did simulations where the beads composing a particle of complex shape have the same size. Everything works nice! Now the beads composing the complex particle can have different sizes and here I face a problem.
The problem is that setting the mass of each particle explicitly in the input file in this case can get so complicated and user-unfriendly! Indeed, in the data file each bead of different radius must be associated with a different particle type. And then consider that one particle of complex shape is built from ~ 15 beads, each of different size! Imagine then explicitly setting the mass of each bead in the input command file and then specifying all peratomtypepair quantities in the property/global entries: 1-2, 1-3, 1-4, ... 1-5, 2-1, 2-2, 2-3, 2-15, ... 15-14 (!!!).

I wonder if there isn't another way to tell LIGGGHTS that all beads building the complex particles in my datafile are of the SAME material (= all beads of same atom_type, same kn, kt..) and so the mass of each bead composing a complex particle should be automatically calculated from the parameters: radius of a bead and density (which is the same for all beads). Maybe one could simply allow the hybrid molecular granular style to read the Masses entries from the data_file (this would be a huge simplification) or let the masses be calculated from the density and radius for the hybrid molecular granular style? Wouldn't such a simplification be of general interest for LIGGGHTS granular users?

Please just tell me if there is another simpler alternative I am not aware of and thanks so much in advance for the help!

Eric

msbentley's picture

msbentley | Tue, 07/31/2012 - 11:01

This is a good question! I've also been using hybrid sphere molecular simulations, but so far using monodisperse monomers to build my aggregates. I think I ended up using mass * ${pcle_mass} to set the mass, which I already found odd since density and radius are specified per-particle in the input data file, and it should be a simple calculation internally. Probably this is an easy-ish fix in the code, but it's beyond me...

My plan (although I haven't tried this yet) was to use the python interface to loop through and set the proper masses after I've read in my particle data file...

Cheers, Mark

andybond13 | Tue, 07/02/2013 - 18:26

Can you expand on what you mean by using mass * $(pcle_mass)?

I'm using the hybrid granular molecular atom type, and reading data in from a file, with diameter and density specified just like you. Without using the mass statement, I get the "All masses are not set" error. How can I get it to calculate the mass of each particle correctly? (my diameters and densities do differ per particle)

Andy