compute surface command

Syntax

compute ID group-ID surface general_keyword general_values arg mode input1 input2 ... keyword args ...
  • ID, group-ID are documented in compute command
  • surface = style name of this compute command
  • general_keywords general_values are documented in compute
  • zero or more keyword/value pairs may be appended
  • keyword = angle or point_up or n_vec_up or use_com or region
angle values = ang
  ang = maximum contact angle of particle (degrees)
point_up values = px py pz
  px, py, pz = coordinates of point UP (length units)
n_vec_up values = nx ny nz
  nx, ny, nz = coordinates of normal vector NUP (length units)
use_com values = yes or no
  yes = do use particle center of mass for calculation for vector NUP
  no = do not use particle center of mass for calculation for vector NUP
region value = regID
  regID = ID of a region which determines which particles are included in the calculation

Examples

compute surf all surface point_up 0.05 0.05 0.05 n_vec_up 1. 1. 0. angle 30

Description

Define a calculation that computes if a particle is on the surface of a particle packing, based on two very simple geometric criteria, which are based on NUP, a normal vector pointing “upwards”, and COM, the center of mass of the fix group

The detection is based on 2 criteria:

  1. the particle is above the plane defined by point COM and vector NUP

AND

(2) the particle must not have any neighboring particle, where the angle of the neighboring particle to NUP is smaller than angle.

The vector NUP can be defined in 2 ways: as (a) vector from center of mass
of the fix group to UP (as defined by point_up ), this is done by using the use_com

keyword, or (b) directly via the n_vec_up keyword.

A note on keywords: angle must be defined, and either - for case (a) - use_com and point_up must be defined, or - for case (b) - n_vec_up must be defined.

If the keyword region is used a region ID must be provided as argument to this keyword. In this case the particles considered in the algorithm described above must be contained in the specified region in order to be considered.

Please note that the list of neighbors is looped to calculate criterion (2), which will depend on your neighbor and neigh_modify settings.

Warning

Please take into account that this is a very coarse approach, and also “inner surfaces” within the particle packing may be detected.

Output info

This compute calculates a compute calculates a per-atom vector, which equals 1 if the particle is on the surface, and 0 if the particle is not on the surface. These values can be used by any command that uses per-atom vector values from a compute as input. See Section_howto 15 for an overview of LIGGGHTS(R)-INL output options.

Restrictions

none

Related commands: none

Default: none