fix particletemplate/multiplespheres command
Syntax
fix ID group-ID particletemplate/multiplespheres seed nspheres nspheresvalue keyword values ntry ntryvalue spheres (or spheres_different_types) use_volume_scaling use_vs values_spheres type mt opt_keyword opt_values
ID, group-ID are documented in fix command
particletemplate/multisphere = style name of this fix command
seed = random number generator seed (prime number greater 10000)
nspheres = obligatory keyword
nspheresvalue = number of spheres in the template (integer value)
zero or more keyword/value pairs can be appended
keyword, values are documented in fix particletemplate/sphere command
ntry = obligatory keyword
ntryvalue: number of tries for Monte Carlo approach
spheres or spheres_different_types = obligatory keyword
use_volume_scaling/use_vs = optional keyword/value pair
use_volume_scaling use_vs = 'yes' or 'no'
yes = particle densities are scaled according to weight
no = uniform particle density
values_spheres = one out of the following options
option 1 = file filename option 2 = file filename scale scalefactor option 3 (when keyword spheres is used and use_volume_scaling is not set) = x1 y1 z1 r1 x2 y2 r2... where x/y/z are sphere positions and r are the radii
opt_keyword = bonded or bounding_sphere
bonded value = 'yes' or 'no'
yes = bonds are created between adjacent spheres
no = no bonds are created
bounding_sphere arguments = radius b_rad position (bx, by, bz)
radius = mandatory keyword
b_rad = radius of bounding sphere
position = mandatory keyword
(bx, by, bz) = position of center of bounding sphere
Examples
fix pt1 all particletemplate/multiplespheres 123457 atom_type 2 density constant $*dens* nspheres 237 ntry 1000000 spheres file data/frag_hb2_v3.file scale 0.999999
Description
Define a particle template that is used as input for a fix_particledistribution_discrete command which contains not only one sphere, but multiple spheres. The particle parameters (positions, radii) are either defined manually as arguments to this command or via a text file, via the keyword file. The format of this text file is
x1 y1 z1 r1
x2 y2 z2 r2
...
and the number of lines in this file has to be equal to n_spheres as defined in this command. Comments can be made in this file via the ‘#’ character. Optionally, when a file is used for defining the multi-sphere template, keyword scale can be used to define a scalefactor to scale up or down the particle positions and radii.
In case keyword spheres_different_types is used, the textfile contains the type as and additional column after the radius.
If the use_volume_scaling keyword is set then the textfile needs to contain a
the volume
as an additional column after radius and type (if
applicable). Thus, if both spheres_different_types and use_volume_scaling
are used the textfile will look like this
x1 y1 z1 r1 t1 V1
x2 y2 z2 r2 t2 V2
...
If use_volume_scaling is not used then all particles will be assigned a
constant density. If use_volume_scaling is used then the density of each
particle will be set according to the ratio between the volume
that
is read from the file and the volume of the sphere. An application of this
keyword is a previous calculation of the volume each particle occupies by a
Voronoi approach.
After the spheres are read, a Monte Carlo procedure is used to assess center of mass of the assembly.
Warning
As opposed to the number-based distributions, this fix uses the more common distribution based on mass-% for the radius distribution (as does fix_particledistribution_discrete).
If the bonded keyword is set to ‘yes’ the spheres in one batch of n_spheres are bonded in case the cohesion model bond model is used and if the particles satisfy the distance criterion of this model.
This template also allows the explicit definition of a bounding sphere. It is normally calculated using a monte carlo approach that can be controlled with the ntry value. If you are inserting particles using the create_particles command you might be interested in exact particle positioning. The particle is placed at the center of the bounding sphere and the monte carlo calculation might not be accurate enough. In this case specify the bounding_sphere keyword followed by specifying both its radius and position. Aspherix will validate your input by checking whether it is close enough to the calculated values and issue a warning if it is not.
Restart, fix_modify, output, run start/stop
Information about the random state in this fix is written to binary restart files so you can restart a simulation with the same particles being chosen for insertion. None of the fix_modify options are relevant to this fix. No global scalar or vector or per-atom quantities are stored by this fix for access by various output commands. No parameter of this fix can be used with the start/stop keywords of the run command.
Restrictions
none
Default
radius = 1.0, density = 1.0, use_volume_scaling = no