fix calculate/normal_elastic_energy command

fix calculate/wall_normal_elastic_energy command

fix calculate/cohesion_elastic_energy command

fix calculate/wall_cohesion_elastic_energy command

Warning

GPU support for this command has not been tested and may not work as expected.

Syntax

fix ID group-ID fix-style fix_wall
  • ID, group-ID are documented in fix command

  • fix-style = style name of this fix command

calculate/normal_elastic_energy
calculate/wall_normal_elastic_energy
calculate/cohesion_elastic_energy
calculate/wall_cohesion_elastic_energy
  • fix_wall = ID of a fix wall/gran, only required if fix-style is calculate/wall_*

Examples

fix myId all calculate/normal_elastic_energy
fix e_wall all calculate/wall_cohesion_elastic_energy walls

Description

Define a computation that calculates the elastic potential of a set of contacts, i.e. either between particles or between particles and walls. Note, in order to enable the computation of these energies, the corresponding computeElasticPotential flags need to be set in the pair or wall/gran styles. The command computes the path integral of the contact forces from either the normal or cohesive contact model. This command also creates new particle properties, which contain the accumulated (absolute) normal and cohesion elastic energies for each particle. For particle-particle collisions, the accumulated elastic energy is divided between the two particles based on the radius (the larger particle will count more of the (absolute) accumulated elastic energy). For particle-wall interactions, the accumulated elastic energy is divided equally between the particle and the wall.

Warning

The particle variant needs to be defined after the pair_style or particle_contact_model command. The wall variant needs to be defined before the fix wall/gran or wall_contact_model command.

Output info:

This command calculates a global scalar which contains the value of the elastic potential. This value can be used by any command that uses a global scalar value from a fix as input. See Section_howto 15 for an overview of Aspherix® output options. The (absolute) accumulated elastic energies can be accessed via id_accumulated_elastic_energy and id_accumulated_elastic_energy_wall for the particle-particle and particle-wall interactions, respectively. Both have a length of two, where the first position contains the (absolute) accumulated normal elastic energy, and the second position contains the (absolute) accumulated cohesion elastic energy. These values can be accessed through Paraview, or from within the input script. For example, to sum the accumulated elastic normal energy of all particles the following can be used:

compute total_accumulated_normal_elastic_energy all reduce sum id_accumulated_elastic_energy[1]
compute total_accumulated_cohesion_elastic_energy all reduce sum id_accumulated_elastic_energy[2]

Restrictions

The styles related to wall - particle interface energies only works if the fix wall/gran is using meshes and not primitives. These fixes also need to be defined before the fix wall/gran. This fix is only compatible with a select few contact models. Please read the help of the corresponding contact model to see whether it is compatible.

Default

None.