# Volume of particle

Hi,
I am creating a particle made out of atoms which occupy a spherical region in space. Obviously, after creating the atoms, the volume of the sphere changes initially. After the system has reached an equilibrium state, is there a way to calculate the volume occupied by this particle?

Thanks in advance for any help

Hi,
I am creating a particle made out of atoms which occupy a spherical region
in space. Obviously, after creating the atoms, the volume of the sphere
changes initially. After the system has reached an equilibrium state, is
there a way to calculate the volume occupied by this particle?

something like this perhaps?

Thanks for your response. That looks quite promising. However, does that calculate the volume occupied by a whole group or does it calculate per atom volumes, each volume corresponding to the region in which that atom has an effect on?

Thanks for your response. That looks quite promising. However, does that
calculate the volume occupied by a whole group or does it calculate per atom
volumes, each volume corresponding to the region in which that atom has an
effect on?

i never used it myself. your question reminded me of it and it is a
fairly new feature.
since it is labeled as a per-atom compute, you may need to combine it with this:
LAMMPS Molecular Dynamics Simulator to sum over all atoms.

should be easy enough to set up some test examples...

axel.

I think I probably need the union over all atoms rather than the sum. Is that easy to do?

I think I probably need the union over all atoms rather than the sum. Is
that easy to do?

"easy" is a very vague term. what is easy for one person, may be
impossible for another. why don't you just try?

Just a warning here. One has to be careful with this technique because
the voronoi volume of boundary atoms could be quite large as per
definition, the voronoi volume is the set of points closest to a give
point in space. If your spherical particle is compact, what you can do
is to plot the per atom voronoi volume distribution and then cutoff
the tail at large volumes. With the rest you can calculate a per atom
average from which the final volume can be easily computed.
Carlos

PS: If you sum the voronoi volume of all the atoms you'll get the
total volume of your simulation box, not the one of your particle

The atoms of the particle form group of their own. So if I compute the voronoi volume using that group-ID shouldnâ€™t it only calculate the volumes occupied by those atoms?

Also, as I understand, the voronoi volume of one particle might overlap with those of its neighbors. In that case the sum of all the volumes will probably be much higher than the actual one. Is this right or is there something wrong with my logic?

I never used the code but the Voronoi volume of one particle is
UNIQUE. No overlap whatsoever with the neighbors. The Voronoi
construction is nothing but a tessellation of the space where each
node (atom in your case) is assigned a volume that corresponds to the
set of points in space that are closest to the given node.
Your logic is wrong. The space is divided into non-overlapping cells
that cover the whole space domain.
Carlos

The point of a Voronoi tesselation is that the per-atom volumes
don't overlap. The sum is the union.

Steve

The atoms of the particle form group of their own. So if I compute the
voronoi volume using that group-ID shouldn't it only calculate the volumes
occupied by those atoms?

It will still compute the voronoi volumes with respect to -all_a toms
in the sample, but it will only initialize the atom vector for the
group atoms. All other atoms will be assigned a volume of 0.

Also, as I understand, the voronoi volume of one particle might overlap with
those of its neighbors. In that case the sum of all the volumes will

Absolutely not. The sum of voronoi volumes should be the volume of the
simulation cell (for well behaved dense systems such as bulk solids or
liquids)

I have used this to compute the total volume VCr of a chromium
precipitate (group Cr).

compute 1 Cr voronoi/atom
compute 2 Cr reduce sum c_1[1]
variable VCr equal c_2

This works because my particle is embedded in a matrix. If your
particle floats in space the voronoi tesselation of the boundary atoms
is not meaningful.
Daniel

And I assume it will only calculate the volume of the group given by the Group-ID right?

And I assume it will only calculate the volume of the group given by the
Group-ID right?

Don't 'assume' read the replies you got and if that still does not
help you, read the source code!

From the doc page:

Define a computation that calculates the Voronoi tesselation of the
atoms in the simulation box. The tesselation is calculated using all
atoms in the simulatoin, but non-zero values are only stored for atoms
in the group.

Steve

Great. Thank you all very much for your help