2006-09-22 00:22:34 +08:00
|
|
|
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
|
|
|
|
|
|
|
:link(lws,http://lammps.sandia.gov)
|
|
|
|
:link(ld,Manual.html)
|
|
|
|
:link(lc,Section_commands.html#comm)
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
fix wall/gran command :h3
|
|
|
|
|
|
|
|
[Syntax:]
|
|
|
|
|
2012-08-27 23:29:39 +08:00
|
|
|
fix ID group-ID wall/gran Kn Kt gamma_n gamma_t xmu dampflag wallstyle args keyword values ... :pre
|
2006-09-22 00:22:34 +08:00
|
|
|
|
|
|
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
|
|
|
wall/gran = style name of this fix command :l
|
2009-01-09 07:18:29 +08:00
|
|
|
Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) :l
|
|
|
|
Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) :l
|
|
|
|
gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) :l
|
|
|
|
gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) :l
|
|
|
|
xmu = static yield criterion (unitless fraction between 0.0 and 1.0) :l
|
|
|
|
dampflag = 0 or 1 if tangential damping force is excluded or included :l
|
2012-08-27 23:29:39 +08:00
|
|
|
wallstyle = {xplane} or {yplane} or {zplane} or {zcylinder} :l
|
2006-09-22 00:22:34 +08:00
|
|
|
args = list of arguments for a particular style :l
|
2012-08-27 23:29:39 +08:00
|
|
|
{xplane} or {yplane} or {zplane} args = lo hi
|
|
|
|
lo,hi = position of lower and upper plane (distance units), either can be NULL)
|
|
|
|
{zcylinder} args = radius
|
|
|
|
radius = cylinder radius (distance units) :pre
|
2006-09-22 00:22:34 +08:00
|
|
|
zero or more keyword/value pairs may be appended to args :l
|
2012-08-27 23:29:39 +08:00
|
|
|
keyword = {wiggle} or {shear} :l
|
|
|
|
{wiggle} values = dim amplitude period
|
|
|
|
dim = {x} or {y} or {z}
|
|
|
|
amplitude = size of oscillation (distance units)
|
|
|
|
period = time of oscillation (time units)
|
2008-04-10 01:29:51 +08:00
|
|
|
{shear} values = dim vshear
|
2012-08-27 23:29:39 +08:00
|
|
|
dim = {x} or {y} or {z}
|
|
|
|
vshear = magnitude of shear velocity (velocity units) :pre
|
2006-09-22 00:22:34 +08:00
|
|
|
:ule
|
|
|
|
|
|
|
|
[Examples:]
|
|
|
|
|
2012-08-27 23:29:39 +08:00
|
|
|
fix 1 all wall/gran 200000.0 NULL 50.0 NULL 0.5 0 xplane -10.0 10.0
|
|
|
|
fix 1 all wall/gran 200000.0 NULL 50.0 NULL 0.5 0 zplane 0.0 NULL
|
|
|
|
fix 2 all wall/gran 100000.0 20000.0 50.0 30.0 0.5 1 zcylinder 15.0 wiggle z 3.0 2.0 :pre
|
2006-09-22 00:22:34 +08:00
|
|
|
|
|
|
|
[Description:]
|
|
|
|
|
2012-08-27 23:29:39 +08:00
|
|
|
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.
|
2006-09-22 00:22:34 +08:00
|
|
|
|
2012-08-27 23:29:39 +08:00
|
|
|
The first set of parameters (Kn, Kt, gamma_n, gamma_t, xmu, and
|
|
|
|
dampflag) have the same meaning as those specified with the
|
2009-01-09 07:18:29 +08:00
|
|
|
"pair_style granular"_pair_gran.html force fields. This means a NULL
|
2012-08-27 23:29:39 +08:00
|
|
|
can be used for either Kt or gamma_t as described on that page. If a
|
|
|
|
NULL is used for Kt, then a default value is used where Kt = 2/7 Kn.
|
|
|
|
If a NULL is used for gamma_t, then a default value is used where
|
|
|
|
gamma_t = 1/2 gamma_n.
|
2009-01-09 07:18:29 +08:00
|
|
|
|
|
|
|
The nature of the wall/particle interactions are determined by which
|
|
|
|
pair_style is used in your input script: {hooke}, {hooke/history}, or
|
|
|
|
{hertz/history}. The equation for the force between the wall and
|
|
|
|
particles touching it is the same as the corresponding equation on the
|
|
|
|
"pair_style granular"_pair_gran.html doc page, in the limit of one of
|
|
|
|
the two particles going to infinite radius and mass (flat wall).
|
|
|
|
I.e. delta = radius - r = overlap of particle with wall, m_eff = mass
|
|
|
|
of particle, and sqrt(RiRj/Ri+Rj) becomes sqrt(radius of particle).
|
2012-08-27 23:29:39 +08:00
|
|
|
The units for Kn, Kt, gamma_n, and gamma_t are as described on that
|
|
|
|
doc page. The meaning of xmu and dampflag are also as described on
|
|
|
|
that page. Note that you can choose different values for these 6
|
2009-01-09 07:18:29 +08:00
|
|
|
wall/particle coefficients than for particle/particle interactions, if
|
|
|
|
you wish your wall to interact differently with the particles, e.g. if
|
|
|
|
the wall is a different material.
|
|
|
|
|
|
|
|
IMPORTANT NOTE: As discussed on the doc page for "pair_style
|
|
|
|
granular"_pair_gran.html, versions of LAMMPS before 9Jan09 used a
|
|
|
|
different equation for Hertzian interactions. This means Hertizian
|
|
|
|
wall/particle interactions have also changed. They now include a
|
|
|
|
sqrt(radius) term which was not present before. Also the previous
|
|
|
|
versions used Kn and Kt from the pairwise interaction and hardwired
|
|
|
|
dampflag to 1, rather than letting them be specified directly. This
|
|
|
|
means you can set the values of the wall/particle coefficients
|
|
|
|
appropriately in the current code to reproduce the results of a
|
|
|
|
prevoius Hertzian monodisperse calculation. For example, for the
|
|
|
|
common case of a monodisperse system with particles of diameter 1, Kn,
|
|
|
|
Kt, gamma_n, and gamma_s should be set sqrt(2.0) larger than they were
|
|
|
|
previously.
|
|
|
|
|
2012-08-27 23:29:39 +08:00
|
|
|
The {wallstyle} can be planar or cylindrical. The 3 planar options
|
|
|
|
specify a pair of walls in a dimension. Wall positions are given by
|
|
|
|
{lo} and {hi}. Either of the values can be specified as NULL if a
|
|
|
|
single wall is desired. For a {zcylinder} wallstyle, the cylinder's
|
|
|
|
axis is at x = y = 0.0, and the radius of the cylinder is specified.
|
|
|
|
|
|
|
|
Optionally, the wall can be moving, if the {wiggle} or {shear}
|
|
|
|
keywords are appended. Both keywords cannot be used together.
|
|
|
|
|
|
|
|
For the {wiggle} keyword, the wall oscillates sinusoidally, similar to
|
|
|
|
the oscillations of particles which can be specified by the
|
|
|
|
"fix_move"_fix_move.html command. This is useful in packing
|
|
|
|
simulations of granular particles. The arguments to the {wiggle}
|
|
|
|
keyword specify a dimension for the motion, as well as it's
|
|
|
|
{amplitude} and {period}. Note that if the dimension is in the plane
|
|
|
|
of the wall, this is effectively a shearing motion. If the dimension
|
|
|
|
is perpendicular to the wall, it is more of a shaking motion. A
|
|
|
|
{zcylinder} wall can only be wiggled in the z dimension.
|
|
|
|
|
|
|
|
Each timestep, the position of a wiggled wall in the appropriate {dim}
|
|
|
|
is set according to this equation:
|
|
|
|
|
|
|
|
position = coord + A - A cos (omega * delta) :pre
|
|
|
|
|
|
|
|
where {coord} is the specified initial position of the wall, {A} is
|
|
|
|
the {amplitude}, {omega} is 2 PI / {period}, and {delta} is the time
|
|
|
|
elapsed since the fix was specified. The velocity of the wall is set
|
|
|
|
to the derivative of this expression.
|
|
|
|
|
|
|
|
For the {shear} 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 {xplane} wall. For {zcylinder} 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.
|
2006-09-22 00:22:34 +08:00
|
|
|
|
2007-10-11 06:28:11 +08:00
|
|
|
[Restart, fix_modify, output, run start/stop, minimize info:]
|
2007-06-26 08:03:39 +08:00
|
|
|
|
|
|
|
This fix writes the shear friction state of atoms interacting with the
|
|
|
|
wall to "binary restart files"_restart.html, so that a simulation can
|
|
|
|
continue correctly if granular potentials with shear "history" effects
|
|
|
|
are being used. See the "read_restart"_read_restart.html command for
|
|
|
|
info on how to re-specify a fix in an input script that reads a
|
|
|
|
restart file, so that the operation of the fix continues in an
|
|
|
|
uninterrupted fashion.
|
|
|
|
|
|
|
|
None of the "fix_modify"_fix_modify.html options are relevant to this
|
2012-08-27 23:29:39 +08:00
|
|
|
fix. No global or per-atom quantities are stored by this fix for
|
|
|
|
access by various "output commands"_Section_howto.html#howto_15. No
|
|
|
|
parameter of this fix can be used with the {start/stop} keywords of
|
2010-04-03 00:51:06 +08:00
|
|
|
the "run"_run.html command. This fix is not invoked during "energy
|
|
|
|
minimization"_minimize.html.
|
2007-06-26 08:03:39 +08:00
|
|
|
|
2006-09-22 00:22:34 +08:00
|
|
|
[Restrictions:]
|
|
|
|
|
2011-08-27 02:53:00 +08:00
|
|
|
This fix is part of the GRANULAR package. It is only enabled if
|
2007-06-26 08:03:39 +08:00
|
|
|
LAMMPS was built with that package. See the "Making
|
2011-08-26 00:46:23 +08:00
|
|
|
LAMMPS"_Section_start.html#start_3 section for more info.
|
2007-06-26 08:03:39 +08:00
|
|
|
|
2007-03-08 09:01:08 +08:00
|
|
|
Any dimension (xyz) that has a granular wall must be non-periodic.
|
|
|
|
|
2006-09-22 00:22:34 +08:00
|
|
|
[Related commands:]
|
|
|
|
|
2010-06-29 01:44:48 +08:00
|
|
|
"fix_move"_fix_move.html, "pair_style granular"_pair_gran.html
|
2006-09-22 00:22:34 +08:00
|
|
|
|
2012-08-27 23:29:39 +08:00
|
|
|
[Default:] none
|