fix breakparticle/force command
Warning
GPU support for this command has not been tested and may not work as expected.Syntax
fix ID group-ID breakparticle/force seed seed_value distributiontemplate dist-ID general_keywords general_values break_keywords break_values ...
ID, group-ID are documented in fix command
breakparticle/force = style names of this fix command
seed = obligatory keyword
seed_value = random # seed (prime number greater 10000)
distributiontemplate = obligatory keyword
dist-ID = ID of a fix_particledistribution_discrete to be used for particle insertion
one or more general keyword/value pairs can be appended
general_keywords = every or verbose
every value = ev once = value to signalise that insertion takes place only once (the step after the fix is issued) ev = every how many time-steps eligible particles are replaced by fragments verbose = yes or no
following the general keyword/value section, one or more break keyword/value pairs can be appended for the fix breakparticle/force command
break_keywords = force_break
force_break value = fbreak fbreak = force threshold for breakage (positive value in force units)
Examples
fix fragments all particletemplate/multiplespheres 123457 atom_type 1 density constant 2500 nspheres 10 ntry 1000000 spheres file fragmentfile scale 1.0
fix pdfragments all particledistribution/discrete 17903 1 fragments 1.
fix break all breakparticle/force seed 123456787 distributiontemplate pdfragments every 100 force_break 10.
Description
Replace granular particles every few timesteps by a predefined set of fragment particles if a certain force breakage criterion is met.
A particle is eligible to be replaced the net “crushing force” on the particle exceeds the specified force limit. The net crushing force is computed as the sum of the normal forces acting on a particle. For the mathematical details see the “simplistic force” computation in fix pressure/simplistic which computes an identical force.
The verbose keyword controls whether statistics about particle insertion is output to the screen each time particles are inserted.
This command must use the distributiontemplate keyword to refer to a fix_particledistribution_discrete (defined by dist-fix-ID) that defines the properties of the inserted particles. This fix_particledistribution_discrete must hold exactly one particle template of type fix_particletemplate_multiplespheres that has a bounding radius of <= 1. It is required to use the relative = yes option as described in fix_particletemplate_sphere
The frequency of the insertion/replacement can be controlled via the every keyword. At each insertion step, fix breakforce/particle breaks all particles that satisfied the breakage criterion since the last breakage event. Note that in general the particles to be replaced have different radii, so the fragment defined by the fix_particletemplate_multiplespheres is scaled down with the particle radius.
Inserted particles are assigned the atom type specified by the particledistribution defined via the fix_particledistribution_discrete and are assigned to 4 groups: the default group “all” and the group specified in the fix insert command, as well as the groups specified in the fix_particledistribution_discrete and fix_particletemplate_sphere command (all of which can also be “all”).
As all particles should be inserted within the hull of existing particles, no overlapcheck is performed.
Restart, fix_modify, output, run start/stop
Information about this fix is written to binary restart files. This means you can restart a simulation while inserting particles, when the restart file was written during the insertion operation.
None of the fix_modify options are relevant to this fix. A global vector is stored by this fix for access by various output commands. The first component of the vector is the number of particles already inserted, the second component is the mass of particles already inserted. No parameter of this fix can be used with the start/stop keywords of the run command.
Restrictions
none
Coarse-graining information:
Using coarsegraining in combination with this command might lead to different dynamics or system state and thus to inconsistencies.