200 lines
10 KiB
HTML
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>
|