"LIGGGHTS(R)-PUBLIC WWW Site"_liws - "LIGGGHTS(R)-PUBLIC Documentation"_ld - "LIGGGHTS(R)-PUBLIC Commands"_lc :c

:link(liws,http://www.cfdem.com)
:link(ld,Manual.html)
:link(lc,Section_commands.html#comm)

:line

fix massflow/mesh command :h3

[Syntax:]

fix id group massflow/mesh mesh mesh-ID vec_side vx vy vz keyword value ... :pre

ID, group-ID are documented in "fix"_fix.html command :ulb,l
massflow/mesh = style name of this fix command   :l
mesh = obligatory keyword :l
mesh-ID = ID of a "fix mesh/surface"_fix_mesh_surface.html command :l
vec_side = obligatory keyword :l
vx, vy, vz = vector components defining the "outside" of the mesh :l
zero or more keyword/value pairs may be appended to args :l
keywords = {count} or {point_at_outlet} or {append} or {file} or {screen} or {delete_atoms} :l
  {count} value = {once} or {multiple}
    once = count particles only once
    multiple = allow particles to be counted multiple times
  {point_at_outlet}  pointX pointY pointZ
    pointX pointY pointZ = coordinates of point on the outlet side of the surface
  {inside_out}
    use this in connection with {point_at_outlet} to flip direction particle counting
  {file} value = filename
  {append} value = filename
   filename = name of the file to print diameter, position and velocity values of the particles
  {screen} value = {yes} or {no}
  {writeTime}
    include this keyword to write the time to the out files
  {delete_atoms} value = {yes} or {no}
    yes = to remove the particles that pass through the mesh surface :pre

:ule

[Examples:]

fix mass all massflow/mesh mesh inface vec_side 0. 0. -1. :pre
fix mass all massflow/mesh mesh inface count once point_at_outlet 0. 0. 0. :pre

[Description:]

Fix massflow/mesh tracks how many particles penetrate through a mesh surface,
as defined by a "fix mesh/surface"_fix_mesh_surface.html command.
It counts the total number of particles and the associated mass. Only particles
part of {group} are eligible for counting.

Particles are counted if they cross from the inner side of the mesh to the outer
side of the mesh. The outer side can be defined either by using the keyword {vec_side} or 
by specifying a point at the outlet side of the mesh (keyword {point_at_outlet}). Note
that the vector defined by {vec_side} does not necessarily have to be
perpendicular to the mesh face.

The following restrictions apply in case {vec_side} is specified: (i) the
"fix mesh/surface"_fix_mesh_surface.html has to be planar, and (ii) the vector
defined by {vec_side} may not lie inside the mesh plane.

The following restriction applies in case {point_at_outlet} is used: the {count}
value has to be set to once.

The keyword {point_at_outlet} is especially useful in case a cylindrically-shaped
surface is used. The {point_at_outlet} value should be on the cylinder axis in
this case. If you like to track particles moving away from the cylinder axis,
specify the {point_at_outlet} on the axis, and use the keyword
{inside_out} to flip the direction.

When {count} = once, then each particle is only counted once, for {count} = multiple
a particle contributes to number and mass count each time it crosses the mesh face.
This can happen e.g. in the case of periodic boundary conditions or in re-circulating
flow conditions.

The diameter, position and velocity of the particles can be written into a file using the {file} keyword,
by specifying a filename.

IMPORTANT NOTE: When using fix massflow/mesh with multispherical particles,
the evaluation of the mass passing the mesh is done for each sphere within the
multisphere particle. Each sphere counts as a fraction of a particle, i.e. 
floating point number might evolve for the number of particles passing the
mesh if not all spheres belonging to one multisphere particle pass the mesh.
The weight for each sphere is calculated taking into account the possible overlap 
between spheres in a multisphere particle.

If the {screen} keyword is used, output by this fix to the screen and
logfile can be turned on or off as desired.

If the {delete_atoms} keyword is used then the particles passing through the mesh
surface are deleted at the next re-neighboring step.

[Restart, fix_modify, output, run start/stop, minimize info:]

Information about this fix is written to "binary restart files"_restart.html .

This fix computes a per-atom vector (the marker) which can be accessed by
various "output commands"_Section_howto.html#howto_8. The per-atom vector
(i.e., the marker) can be accessed by dumps by using "f_massflow_ID", .
This fix also computes a global vector of length 6. This vector can be
accessed via "f_ID", where ID is the fix id. The first vector component
is equal to the total mass which has crossed the mesh surface, the second vector
component indicates the particle count. The third vector component
is equal to the total mass which has crossed the mesh surface since the last output
divived by the time since the last output (i.e., the mass flow rate), the fourth vector
component indicates the particle count since the last output divived by the time
since the last output (i.e., the number rate of particles). The fifth and sixth vector
components are the deleted mass and the number of deleted particles. This vector
can also be accessed by various "output commands"_Section_howto.html#howto_8.

[Restrictions:]

none

[Related commands:]

"compute nparticles/tracer/region"_compute_nparticles_tracer_region.html

[Default:]

{count} = multiple, {inside_out}  =false, {delete_atoms} = false
