Files
LIGGGHTS-PFM/doc/fix_wall_gran.html
2014-08-28 19:59:48 +02:00

200 lines
10 KiB
HTML

<HTML>
<CENTER><A HREF = "http://www.cfdem.com">LIGGGHTS WWW Site</A> - <A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LIGGGHTS Documentation</A> - <A HREF = "Section_commands.html#comm">LIGGGHTS Commands</A>
</CENTER>
<HR>
<H3>fix wall/gran command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>fix ID group-ID style model_type model_name wallstyle wallstyleargs general_keywords general_values model_keywords model_values ...
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
<LI>style = <I>wall/gran</I>
<LI>zero or more model_type/model_name pairs may be appended. They must be appended in the following order
<PRE> <I>model</I> values = described <A HREF = "Section_gran_models.html">here</A>
<I>tangential</I> values = described <A HREF = "Section_gran_models.html">here</A>
<I>cohesion</I> values = described <A HREF = "Section_gran_models.html">here</A>
<I>rolling_friction</I> values = described <A HREF = "Section_gran_models.html">here</A>
<I>surface</I> values = described <A HREF = "Section_gran_models.html">here</A>
</PRE>
<LI>wallstyle = <I>mesh</I> or <I>primitive</I>
<LI>wallstyle args for wallstyle <I>mesh</I> = <I>n_meshes</I> and <I>meshes</I>
<PRE> <I>n_meshes</I> value = nm
nm = # of meshes (see <A HREF = "fix_mesh_surface.html">fix mesh/surface</A>) to use for the wall (positive integer)
<I>meshes</I> values = meshlist
meshlist = id(s) of the mesh(es) (see <A HREF = "fix_mesh_surface.html">fix mesh/surface</A>) to be used. These must be defined before
</PRE>
<LI>wallstyle args for wallstyle <I>primitive</I> = <I>type</I> or <I>xplane</I> or <I>yplane</I> or <I>zplane</I> or <I>xcylinder</I> or <I>ycylinder</I> or <I>zcylinder</I>
<PRE> <I>type</I> args = tp
tp = atom_type (material type) of the wall
<I>xplane</I> or <I>yplane</I> or <I>zplane</I> args = pos
pos = position plane (distance units)
<I>xcylinder</I> or <I>ycylinder</I> or <I>zcylinder</I> args = radius c1 c2
radius = cylinder radius (distance units)
c1,c2 = coordinates of center axis in other 2 dims (distance units)
</PRE>
<LI>zero or more general_keyword/value pairs may be appended
<LI>general_keyword = <I>shear</I> or <I>store_force</I> or <I>store_force_contact</I>
<PRE> <I>shear</I> values = dim vshear
dim = <I>x</I> or <I>y</I> or <I>z</I>
vshear = magnitude of shear velocity (velocity units)
<I>temperature</I> value = T0
T0 = Temperature of the wall (temperature units)
<I>contact_area</I> values = 'overlap' or 'constant <B>value</B>' or 'projection'
<I>store_force</I> value = 'yes' or 'no'
yes, no = determines if the wall force exerted on the particles is stored in a <A HREF = "fix_property.html">fix property/atom</A> with id force_(ID), where (ID) is the id of the fix wall/gran command.
<I>store_force_contact</I> value = 'yes' or 'no'
yes, no = determines if the force for each particle-wall contact is stored in a <A HREF = "fix_property.html">fix property/atom</A> with id contactforces_(ID), where (ID) is the id of the fix wall/gran command.
</PRE>
<LI>following the general_keyword/value pairs, zero or more model_keyword/model_valuezero pairs may be appended in arbitrary order
model_type/model_name pairs = described for each model separately <A HREF = "Section_gran_models.html">here</A>
</UL>
<P><B>Examples:</B>
</P>
<PRE>fix zwalls all wall/gran model hertz tangential history primitive type 1 zplane 0.15
fix meshwalls all wall/gran model hertz tangential history mesh n_meshes 2 meshes cad1 cad2
</PRE>
<P><B>LIGGGHTS vs. LAMMPS Info:</B>
</P>
<P>This command has been improved in accordance with the overhauled
<A HREF = "pair_gran.html">pair gran</A> styles. Furthermore, it offers the new
<I>wallstyle mesh</I>, which enables fix wall/gran to handle complex
wall geometries imported from CAD.
</P>
<P><B>Description:</B>
</P>
<P>Bound the simulation domain of a granular system with a frictional wall.
All particles in the group interact with the wall when they are close enough
to touch it. The equation for the force between the wall and particles
touching it is the same as the corresponding equation on the
<A HREF = "pair_gran.html">pair_style granular</A> doc page, in the limit of one of the
two particles going to infinite radius and mass (flat wall).
</P>
<P>You must choose the models matching the pair style used, otherwise
an error is created. As with <A HREF = "pair_gran.html">pair_style granular</A>, you have
to define the mechanical properties for each material you are used in the
simulation with fix property commands. See <A HREF = "pair_gran.html">pair_style gran</A>
for more details and <A HREF = "Section_gran_models.html">the model doc page</A> for
details.
</P>
<P>For wallstyle <I>mesh</I>, fix_id1, fix_id2 etc. must be IDs of valid fixes of
type <A HREF = "fix_mesh_surface.html">fix mesh/surface</A>, defining the granular mesh
to be used for the wall. Triangle-particle neighbor lists are built to efficiently
track particle-triangle contacts. Particle-tri neighbor list build is triggered
if any particle moves more than half the skin distance or (in case of moving mesh) if the mesh
itself moves more than half the skin distance since the last build. A warning
is generated if a dangerous particle-tri neigh list build is detected
(e.g. if particles are inserted too close to a wall, see section 'Restrictions').
For style <I>mesh</I>, the atom_type (material type) is inherited from the atom style provided
in the <A HREF = "fix_mesh_surface.html">fix mesh/surface</A> command.
</P>
<P>For <I>wallstyle primitive</I>, the atom_type (material type) has to be provided via
keyword <I>type</I>. Primitve walls can be <I>xplane</I> or <I>yplane</I> or <I>zplane</I> or <I>cylindrical</I>.
The 3 planar options specify a single wall in a dimension.
Wall positions are given by values for lo and hi. For an <I>xcylinder</I>, <I>ycylinder</I> or
<I>zcylinder</I>, the radius and the cylinder axis in the other two dims is specified.
</P>
<HR>
<P>Optionally, primitive walls can be moving, if the shear keyword is appended.
</P>
<P>For the <I>shear</I> keyword, the wall moves continuously in the specified dimension
with velocity vshear. The dimension must be tangential to walls with a planar
wallstyle, e.g. in the y or z directions for an <I>xplane</I> wall. For <I>zcylinder</I>
walls, a dimension of z means the cylinder is moving in the z-direction along
it's axis. A dimension of x or y means the cylinder is spinning around the
z-axis, either in the clockwise direction for vshear > 0 or counter-clockwise
for vshear < 0. In this case, vshear is the tangential velocity of the wall
at whatever radius has been defined. The same applies to <I>xcylinder</I> and
<I>ycylinder</I> accordingly.
</P>
<P>NOTE: The keywords wiggle or shear can NOT be used for <I>wallstyle mesh</I>.
For a moving a granular wall with <I>wallstyle mesh</I>, use the more flexible
command "fix move/mesh"fix_move_mesh.html, or use the keywords <I>velocity</I>
or <I>angular_velocity</I> in <A HREF = "fix_mesh_surface.html">fix mesh/surface</A>.
</P>
<P>The keyword <I>temperature</I> is used to assign a constant temperature to the wall.
This setting gets effective in conjunction with heat conduction via
<A HREF = "fix_heat_gran_conduction.html">fix heat/gran/conduction</A>. For <I>wallstyle mesh</I>, the value
for the temperature given in this command is ignored and the temperature
value is specified per mesh via <A HREF = "fix_mesh_surface.html">fix mesh/surface</A>.
Contact area calculation can be controlled by keyword <I>contact_area</I> in the
same manner as for <A HREF = "fix_heat_gran_conduction.html">fix heat/gran/conduction</A>.
</P>
<P>By specifying <I>store_force</I> = 'yes', you can instruct the command to
store the wall force exerted on the particles in a
<A HREF = "fix_property.html">fix property/atom</A> with id force_(ID), where (ID)
is the id of the fix wall/gran command.
</P>
<P>The effect of keyword <I>rolling_friction</I>, <I>cohesion</I>, <I>tangential_damping</I>,
<I>viscous</I> and <I>absolute_damping</I> is explanted in <A HREF = "pair_gran.html">pair gran</A>
</P>
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
</P>
<P>If applicable, contact history is written to <A HREF = "restart.html">binary restart files</A>
so simulations can continue properly.
None of the <A HREF = "fix_modify.html">fix_modify</A> options are relevant to this fix.
No global scalar or vector or are stored by this fix.
If <I>store_force</I> = 'yes' is specified, the per-atom wall force can be
accessed by the various output commands via f_force(ID)<B>1</B>, f_force(ID)<B>2</B>,
f_force(ID)<B>3</B>. (ID) is the id of the fix wall/gran command.
No parameter of this fix can be used with the start/stop keywords of the
<A HREF = "run.html">run</A> command. This fix is not invoked during <A HREF = "minimize.html">energy minimization</A> .
</P>
<P><B>Restrictions:</B>
</P>
<P>There can be only one fix wall/gran command with style <I>mesh</I>. Note that
this is not really a restriction because you can include multiple fixes
of type <A HREF = "fix_mesh_surface.html">fix mesh/surface</A> in the fix wall/gran command.
</P>
<P>When using style style <I>mesh</I>, you have to use the style <I>bin</I> for
the <A HREF = "neighbor.html">neighbor command</A>.
</P>
<P>Style <I>mesh</I> can not be used in conjunction with triclinic simulation boxes.
</P>
<P>When using style <I>mesh</I>' in combination with a particle insertion
command, you always have to keep a minimum distance between the wall and the
insertion region that is equal to maximum particle radius + half the skin
defined in the <A HREF = "neighbor.html">neighbor command</A>. Otherwise, newly inserted
particles interpenetrate the walls before a triangle neighbor list is built
the first time.
</P>
<P>The keyword shear can NOT be used for style <I>mesh</I>.
For moving granular wall with style mesh, use "fix move/mesh"fix_move_mesh.html.
</P>
<P>Any dimension (xyz) that has a planar granular wall must be non-periodic.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "fix_mesh_surface.html">fix mesh/surface</A>, <A HREF = "fix_move_mesh.html">fix_move_mesh</A>, <A HREF = "pair_gran.html">pair_style granular</A>
Models for use with this command are described <A HREF = "Section_gran_models.html">here</A>
</P>
<P><B>Default:</B>
</P>
<P><I>model</I> = 'hertz'
<I>tangential</I> = 'history'
<I>rolling_friction</I> = 'off'
<I>cohesion</I> = 'off'
<I>surface</I> = 'default'
</P>
</HTML>