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.