forked from lijiext/lammps
Added fix wall/body/polygon and related doc pages
This commit is contained in:
parent
6438cffa57
commit
f2c302c2c4
|
@ -0,0 +1,100 @@
|
|||
"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/body/polygon command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID wall/body/polygon k_n c_n c_t wallstyle args keyword values ... :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
wall/body/polygon = style name of this fix command :l
|
||||
k_n = normal repulsion strength (force/distance units or pressure units - see discussion below) :l
|
||||
c_n = normal damping coefficient (force/distance units or pressure units - see discussion below) :l
|
||||
c_t = tangential damping coefficient (force/distance units or pressure units - see discussion below) :l
|
||||
wallstyle = {xplane} or {yplane} or {zplane} or {zcylinder} :l
|
||||
args = list of arguments for a particular style :l
|
||||
{xplane} or {yplane} 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
|
||||
zero or more keyword/value pairs may be appended to args :l
|
||||
keyword = {wiggle} :l
|
||||
{wiggle} values = dim amplitude period
|
||||
dim = {x} or {y} or {z}
|
||||
amplitude = size of oscillation (distance units)
|
||||
period = time of oscillation (time units) :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 all wall/body/polygon 1000.0 20.0 5.0 xplane -10.0 10.0
|
||||
|
||||
[Description:]
|
||||
|
||||
Bound the simulation domain of systems of body particles of style
|
||||
body/rounded/polygon with wall(s). All particles in the group interact
|
||||
with the wall when they are close enough to touch it.
|
||||
The nature of the interaction between the wall and the polygons is
|
||||
the same as that between the polygons themselves, which is similar to the Hookean potential.
|
||||
|
||||
This fix is designed for use with the "body/rounded/polygon" body style,
|
||||
which is specified as an argument to the "atom-style body" command.
|
||||
The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as those specified with the
|
||||
"pair_style body/rounded/polygon"_pair_body_rounded_polygon.html commands.
|
||||
|
||||
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} keyword is appended.
|
||||
|
||||
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 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.
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
None of the "fix_modify"_fix_modify.html options are relevant to this
|
||||
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
|
||||
the "run"_run.html command. This fix is not invoked during "energy
|
||||
minimization"_minimize.html.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This fix is part of the BODY package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
Any dimension (xyz) that has a wall must be non-periodic.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_style body/rounded/polygon"_pair_body_rounded_polygon.html
|
||||
|
||||
[Default:] none
|
|
@ -0,0 +1,100 @@
|
|||
"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/body/polyhedron command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID wall/body/polyhedron k_n c_n c_t wallstyle args keyword values ... :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
wall/body/polyhedron = style name of this fix command :l
|
||||
k_n = normal repulsion strength (force/distance units or pressure units - see discussion below) :l
|
||||
c_n = normal damping coefficient (force/distance units or pressure units - see discussion below) :l
|
||||
c_t = tangential damping coefficient (force/distance units or pressure units - see discussion below) :l
|
||||
wallstyle = {xplane} or {yplane} or {zplane} or {zcylinder} :l
|
||||
args = list of arguments for a particular style :l
|
||||
{xplane} or {yplane} 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
|
||||
zero or more keyword/value pairs may be appended to args :l
|
||||
keyword = {wiggle} :l
|
||||
{wiggle} values = dim amplitude period
|
||||
dim = {x} or {y} or {z}
|
||||
amplitude = size of oscillation (distance units)
|
||||
period = time of oscillation (time units) :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 all wall/body/polyhedron 1000.0 20.0 5.0 xplane -10.0 10.0
|
||||
|
||||
[Description:]
|
||||
|
||||
Bound the simulation domain of systems of body particles of style
|
||||
body/rounded/polyhedron with wall(s). All particles in the group interact
|
||||
with the wall when they are close enough to touch it.
|
||||
The nature of the interaction between the wall and the polygons is
|
||||
the same as that between the polygons themselves, which is similar to the Hookean potential.
|
||||
|
||||
This fix is designed for use with the "body/rounded/polyhedron" body style,
|
||||
which is specified as an argument to the "atom-style body" command.
|
||||
The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as those specified with the
|
||||
"pair_style body/rounded/polyhedron"_pair_body_rounded_polygon.html commands.
|
||||
|
||||
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} keyword is appended.
|
||||
|
||||
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 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.
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
None of the "fix_modify"_fix_modify.html options are relevant to this
|
||||
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
|
||||
the "run"_run.html command. This fix is not invoked during "energy
|
||||
minimization"_minimize.html.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This fix is part of the BODY package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
Any dimension (xyz) that has a wall must be non-periodic.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_style body/rounded/polyhedron"_pair_body_rounded_polygon.html
|
||||
|
||||
[Default:] none
|
|
@ -53,8 +53,8 @@ the examples above, or in the data file or restart files read by the
|
|||
"read_data"_read_data.html or "read_restart"_read_restart.html
|
||||
commands:
|
||||
|
||||
k_n (energy/distance^2)
|
||||
k_na (energy/distance^2) :ul
|
||||
k_n (energy/distance^2 units)
|
||||
k_na (energy/distance^2 units) :ul
|
||||
|
||||
[Related commands:]
|
||||
|
||||
|
|
|
@ -53,8 +53,8 @@ the examples above, or in the data file or restart files read by the
|
|||
"read_data"_read_data.html or "read_restart"_read_restart.html
|
||||
commands:
|
||||
|
||||
k_n (energy/distance^2)
|
||||
k_na (energy/distance^2) :ul
|
||||
k_n (energy/distance^2 units)
|
||||
k_na (energy/distance^2 units) :ul
|
||||
|
||||
[Related commands:]
|
||||
|
||||
|
|
|
@ -45,7 +45,9 @@ class FixWallBodyPolygon : public Fix {
|
|||
|
||||
protected:
|
||||
int wallstyle,pairstyle,wiggle,axis;
|
||||
double kn,c_n,c_t;
|
||||
double kn; // normal repulsion strength
|
||||
double c_n; // normal damping coefficient
|
||||
double c_t; // tangential damping coefficient
|
||||
double lo,hi,cylradius;
|
||||
double amplitude,period,omega;
|
||||
double dt;
|
||||
|
|
Loading…
Reference in New Issue