calculate wall_bond_network command

Purpose

This command calculates the properties of individual pairwise bonds between particles and walls (examples).

Syntax

calculate wall_bond_network keyword value

Keywords

Description

id

user-assigned name for the command call

particle_group

ID of the group of particles on which the command is applied
default: all

properties

list of properties that will be evaluated (options and defaults see below)

bond_type

type of bonds to output, available options: all or cohesive or solid
default: all

final_update

Recomputes at the last step of a simulate command.
available options: yes or no
default: yes

interaction_with_mesh

ID of the mesh that interacts with the main particle group i.e. the one defined by particle_group
default: all

Examples

calculate wall_bond_network
calculate wall_bond_network bond_type cohesive id cohesiveBonds
calculate wall_bond_network properties {force}
calculate wall_bond_network properties {pos, ids} bond_type solid
calculate wall_bond_network id net_1 particle_group all properties {ids, pos} interaction_with_mesh plate_1

Description

This command calculates the properties of individual pairwise bonds between particles and walls. The number of datums generated, aggregated across all processors, equals the number of particle-wall bonds in the system. The bond information is only saved if there exists a bond of the specified bond_type between a particle and a wall.

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 optional keyword bond_type can be used to control which bond type should be included in the network. By default all bonds are included, but the user can use cohesive (like liquid bridges) and solid to include specific types only.

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

Keywords

Description

pos *

position of particle and wall contact point (6 values, unit: distance)

vel *

velocity of particle and wall contact point (6 values, unit: distance/time)

ids *

IDs of the particle / mesh triangle and a flag with periodicity information (3 values)

force *

contact force (3 values, unit: force)

force_normal

normal component of contact force (3 values, unit: force)

force_tangential

tangential component of contact force (3 values, unit: force)

torque *

torque between particles or particle and wall (3 values, unit: force*distance)

torque_normal

normal component of torque (3 values, unit: force*distance)

torque_tangential

tangential component of torque (3 values, unit: force*distance)

history *

contact history (# depends on pair style, e.g. 3 shear history values)

contactArea *

area of the contact (1 value)

contactPoint

contact point at which the particle-wall contact force is computed (3 values,
pairwise interactions only, units: distance)

delta

overlap of the contact (radius - distance to wall, 1 value, unit: distance)

heatFlux

conductive heat flux of the contact ((only available if enable_heat_transfer
is used, 1 value, unit: energy/time)

ms_id

multisphere IDs of clumps where of particles in contact belong to (in case of
wall, second value will be -1) (2 values)

shearrate

shear rate (1 value)

heatConductionArea

heat conduction area of a contact (only available if enable_electrical_conductivity
is used, 1 value)

electricCurrent

electric current of a contact (only available if enable_electrical_conductivity
is used, 1 value)

electricConductance

electric conductance of a contact (only available if enable_electrical_conductivity
is used, 1 value)

* The properties pos, vel, ids, force, torque, history and contactArea are the default output if no properties are selected.

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, 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 by default. By switching the setting keyword the torsionTorque on in the respective rolling friction model, the full relative rotation contributes to the rolling friction torque.

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.

Further information

This command is a wrapper for the compute wall/gran/local/bond 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 e.g. as in the example below.

calculate wall_bond_network id net_1 particle_group all properties {ids, pos} interaction_with_mesh plate_1
output_settings write_meshes yes meshes {plate_1, plate_2} write_wall_bond_network yes wall_network_command_ids net_1