particle_distribution command
Purpose
Command for creating a particle distributions from particle templates.
Note
This command is supported by Aspherix GPU.Syntax
particle_distribution keyword value
Keywords:
Keyword |
Description |
|---|---|
id |
user-assigned name for the command call |
list of particle_template IDs that form the distribution |
|
list of fractions belonging to the corresponding template ID
sum of all fractions should be 1, values are normalized otherwise
|
|
list of percentages belonging to the corresponding template ID
sum of all percentages should be 100, values are normalized otherwise
|
|
normal_distribution requires some additional kewords:standard_deviation ²: standard deviation, for sphere
particles only; units: [length]
standard_deviation_scale ²: scaled standard
deviation, for all particles shapes (=standard_deviation/particle_size, dimensionless)
cutoff: cutoff value for the normal distribution, divided by the standard deviation
number_of_bins: number of bins to create between -cutoff and +cutoff
default:
cutoff 2; number_of_bins: 5; |
|
available options:
massbased or numberbaseddefault:
massbased |
|
list of scale factors belonging to the corresponding template ID |
|
available options: |
|
a positive integer used to seed the random number generator |
¹ The keywords fractions, percentages and normal_distribution are mutually exclusive.
² The keywords standard_deviation or standard_deviation_scale are mutually exclusive,
the usage of one of them is mandatory.
Examples
particle_distribution id pd1 seed 545387 templates {smallerParticles, biggerParticles} fractions {0.3, 0.7}
particle_distribution id pd1 seed 545387 mode numberbased templates {smallerParticles,biggerParticles} &
percentages {70%,30%}
particle_distribution id pd1 seed 545387 templates {baseParticle, baseParticle} fractions {0.3, 0.7} &
template_scales {0.2, 0.8}
particle_distribution id pd1 seed 545387 mode numberbased templates {convexParticle,convexParticle} &
percentages {70%,30%} template_scales {0.3, 0.7} scale_axis y
particle_distribution id pd1 seed 545387 mode numberbased templates {meanSphericalParticle} &
normal_distribution standard_deviation 0.0005 number_of_bins 7
particle_distribution id pd1 seed 545387 templates {meanGeneralParticle} &
normal_distribution standard_deviation_scale 0.1 cutoff 2.8 number_of_bins 7
Description
This command defines a discrete particle distribution to be inserted by an insertion command.
It takes as input one or more templates defined by the particle_template command, which
sets the properties of the single particles that are part of the distribution. The IDs from the list in templates
define the distribution together with the values from percentages or fractions or template_scales or
normal_distribution.
Note that not all optional keywords can be used in a single command. Only one keyword from percentages,
fractions and normal_distribution must be chosen. Furthermore, template_scales can only be
combined with percentages and fractions. The number of percentages/fractions/template_scales
in the list following the keyword must be equal to the number of templates IDs that have been
specified. The values in percentages need to sum up to 100, while the values in fractions are
normalized if they do not sum up to one. If normal_distribution is used, templates must contain
exactly 1 template ID (which defines the mean particle size) and exactly one of standard_deviation
or standard_deviation_scale must be specified as well. Note that standard_deviation can only be
used for spherical particles, while standard_deviation_scale can be used for any particle shape.
The difference is that standard_deviation has length units, while the standard_deviation_scale
is dimensionless (it is equivalent to standard_deviation / particle_size).
The scale_axis can only be used if template_scales or normal_distribution
is used. For the normal_distribution the particle sizes are scaled with the average value of the
bin lower and upper limits. The fractions used for each bin are computed from the area under the
normal distribution, and scaled with the sum of all these fractions. The fractions outside the
cutoff range are neglected and not used in any way. The use of the mode keyword is not restricted,
it can be combined with any other keyword. For mode massbased, the weight of each template within
the distribution is interpreted as mass-%, for mode numberbased the weight is interpreted as number-%.
Note
Note that the inserted particle size depends on all scales specified. Any scale
specified in the particle template will be multiplied (in all directions, or just the
direction specified by scale_axis) by the provided template_scales or normal_distribution
scale (determined from the standard_deviation or standard_deviation_scale).
Note
Note that large particles are inserted first, so that a higher volume fraction can be achieved. If not all desired insertions could be performed, it is likely that the distribution is not accurately reproduced.
The optional seed keyword can be used to define the seed value for
the random number generator used internally. Valid values are positive
integers. If seed is not set, a hardcoded value will be used.
Restart, fix_modify, output, run start/stop
Information about the random state in this command 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 command. No global scalar or vector or per-atom quantities are stored by this command for access by various output commands. No parameter of this command can be used with the start/stop keywords of the run command.
Restrictions
none