fix pressure/simplistic command

Warning

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

Syntax

fix ID group-ID pressure/simplistic keywords values
  • ID, is documented in fix command.

  • pressure/simplistic = style name of this fix command

  • zero or more keyword/value pairs may be appended

  • keyword = update_every or ms_volume_equivalent_sphere

ms_volume_equivalent_sphere value = yes/no
  yes = uses the volume equivalent sphere radius to compute pressure from forces
  no = uses the bounding sphere radius to compute pressure from forces
update_every value = ev
  ev = compute values every this many time-steps

Examples

fix pres all pressure/simplistic update_every 500

Description

This fix computes a simplistic pressure formulation for the pressure for each granular particle. The update_every keyword defines how often this information is computed. The simplistic pressure formulation is given as:

p = - 0.5 *  sum_normal_forces / (r*r*pi)

where r is a radius:

- sphere radius for spheres
- bounding radius for multispheres (with ms_volume_equivalent_sphere no)
- volume equivalent sphere radius for multispheres (with ms_volume_equivalent_sphere yes)
- volume equivalent sphere radius for superquadrics

sum_normal_forces is the sum over all contacts of a particle of the dot product of the contact forces with the surface normal at the contact point, i.e.

sum_normal_forces = 1/2 * sum_j f_ij . n_ij

where j are the contacts, f_ij is the force between particle i and j (could be a wall) and n_ij is the outward surface normal of particle i at the contact point.

Note

The factor 1/2 is for consistency with a uniaxial compression. In a uniaxial compression with a defined force F acting on the top plate a particle inside the bulk would feel the force F from a particle on top of it and would pass the same force to the particle below it. Thus, the sum of the normal forces equals 2 F in this case. To obtain the original compressive force, the factor 1/2 is introduced.

Warning

Because of this correction factor it should be appreciated that the values from this fix are not accurate for cases with several stress directions. For these cases we advise the use of the fix ave/euler which can calculate the full stress tensor (although not on a per-particle basis).

The “simplistic force” is calculated as:

f = p * (r*r*pi)

Restart, fix_modify, output, run start/stop

Data is stored by this fix for access by various output commands. You can visualize the simplistic pressure via f_pressure[1], and the simplistic force by f_pressure[2] . In case of multisphere, multisphere properties “pressure” and “ms_force” are allocated holding p and f, respectively, for access via dump local. This fix does not need to write data to binary restart files. 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. It contains the x,y,and z component of the force that was actually applied 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 should lead to statistically equivalent dynamics and system state.

Default

update_every = 1, ms_volume_equivalent_sphere = no