calculate wall_contact_network command

Purpose

This command calculates the properties of individual pairwise interactions between particles and walls.

Syntax

calculate wall_contact_network keyword value

The following keyword/value pairs can be added: id, particle_group, properties, interaction_with_mesh

id value = command-ID
   command-ID = user-assigned name for the command call (optional)
particle_group = group-ID
   group-ID = ID of the group of particles on which the command is applied (default: all)
final_update value = 'yes' or 'no'
   yes = update at the last step of each simulate command
   no = do not update at the end of a simulate command
properties = {p1, ..., pN}
   {p1, ..., pN} = list of properties that will be evaluated, see below (obligatory)
interaction_with_mesh = mesh-ID
    mesh-ID = ID of the mesh that interact with the main particle group i.e. the one defined by particle_group

The properties list can contain one or more of the following: pos or vel or ids or force or torque or history or contactArea or delta or heatFlux or ms_id

pos = position of particle and wall contact point (6 values)
vel = velocity of particle and wall contact point (6 values)
ids = IDs of the mesh, the triangle and the atom (3 values)
force = contact force (3 values)
force_normal = normal component of contact force (3 values)
force_tangential = tangential component of contact force (3 values)
torque = torque divided by particle diameter (3 values)
history = contact history (# depends on pair style, e.g. 3 shear history values)
contactArea = area of the contact (1 value)
contactPoint = contact point (3 value, pairwise interactions only)
delta = overlap of the contact (1 value)
heatFlux = conductive heat flux of the contact (1 value)
ms_id = multisphere IDs of clumps where of particles in contact belong to (in case of wall, second value will be -1) (2 values)
particleIds = IDs of the mesh, the triangle and the smallest atom ID of the particle in contact with the mesh (3 values)

Examples

calculate wall_contact_network properties {force}

Description

This command calculates the properties of individual pairwise interactions between particles and walls. The number of datums generated, aggregated across all processors, equals the number of particle-wall interactions in the system. The interaction information is only saved if the current distance between a particle and a wall is less than the force cutoff distance for that interaction.

If the optional keyword particle_group is used, the information about the interaction between is only saved if the involved particle is in the specified group. If the optional keyword id is used, a custom ID is set for the command. The command can then be referenced by other commands. The command automatically saves the particle position and the contact point (6 values in distance units) for the particle-wall interactions.

The final_update keyword will force a recomputation of the value at the last integration step of a simulate command. This is useful if the value is required in the input script between two simulate commands, e.g. for setting a variable.

If the keyword interaction_with_mesh with associated value mesh_id is set, then the interaction between the particles and the mesh will only be included if the particles are in the general compute group (set by particle_group) and the id of the mesh is equal to the value set as mesh_id. If this keyword is not set, then all meshes are considered when calculating the interactions. mesh_id must be an id of a mesh command.

Information on the properties

Keyword pos saves the velocity of the particle and the contact point. vel saves the particle velocity and the mesh velocity at the contact point. For computing particle-wall data, the output ids will be the mesh id, the triangle id and the particle id. The output force, force_normal, force_tangential and torque are the total contact force, the normal and tangential components of the contact force, and the torque divided by the particle radius, both in force units. Note that the normal and tangential components are not necessarily exactly equal to the forces added by the normal and tangential model used, but are geometrically composed, using the connection line between the particle centers as normal direction. Note also that the torque does not contain any rolling friction torque. The output history will depend on what this history represents, according to the granular pair style used. The output contactArea will output the contact area, in distance-squared units. Note that contactArea is based on an analytic geometric calculation of sphere-plane intersection rather than a calculation based on mechanics. This is to ensure that contactArea works with all types of contact models. The contactPoint output will store the point at which the particle-wall contact force is computed. The output delta will output the overlap (radius - distance to wall) in distance units. The output heatFlux (available only if the enable_heat_transfer command is used) will output the per-contact conductive heat flux area, in energy/time units.

Further information

This command is a wrapper for the compute_wall_gran_local command.

Warning

The data associated to the different keywords is output in the following order: pos, vel, ids, force, force_normal, force_tangential, torque, history, contactArea, heatFlux, contactPoint. This is independent of the order in which the keywords are specified.

Note that as particles migrate from processor to processor, there will be no consistent ordering of the entries within the local vector or array from one timestep to the next. The only consistency that is guaranteed is that the ordering on a particular timestep will be the same for local vectors or arrays generated by other compute commands.

Warning

This command will, when invoked, issue a call to the pair contact models to calculate what would be the contact forces given the current positions, velocities, etc.

Since this command is typically done when output is created (at the end of the time-step), this is not necessarily exactly equal to (with machine precision) the particle-wall forces which were calculated within one time-step.

This compute calculates a local vector or local array depending on the number of keywords. The length of the vector or number of rows in the array is the number of pairs. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns is equal to the number of keywords. The vector or array can be accessed by any command that uses local values from a compute as input. The data can be written to file via the output_settings command.

calculate wall_contact_network id net_1 particle_group all properties {ids, pos} interaction_with_mesh plate_1
output_settings write_meshes yes meshes {plate_1} write_wall_contact_network yes wall_network_command_ids net_1