mirror of https://github.com/lammps/lammps.git
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@2624 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
parent
eb8c707f99
commit
9bcf02c6ca
|
@ -318,7 +318,7 @@ of each style or click on the style itself for a full description:
|
||||||
</P>
|
</P>
|
||||||
<DIV ALIGN=center><TABLE BORDER=1 >
|
<DIV ALIGN=center><TABLE BORDER=1 >
|
||||||
<TR ALIGN="center"><TD ><A HREF = "fix_addforce.html">addforce</A></TD><TD ><A HREF = "fix_aveforce.html">aveforce</A></TD><TD ><A HREF = "fix_ave_atom.html">ave/atom</A></TD><TD ><A HREF = "fix_ave_spatial.html">ave/spatial</A></TD><TD ><A HREF = "fix_ave_time.html">ave/time</A></TD><TD ><A HREF = "fix_bond_break.html">bond/break</A></TD><TD ><A HREF = "fix_bond_create.html">bond/create</A></TD><TD ><A HREF = "fix_bond_swap.html">bond/swap</A></TD></TR>
|
<TR ALIGN="center"><TD ><A HREF = "fix_addforce.html">addforce</A></TD><TD ><A HREF = "fix_aveforce.html">aveforce</A></TD><TD ><A HREF = "fix_ave_atom.html">ave/atom</A></TD><TD ><A HREF = "fix_ave_spatial.html">ave/spatial</A></TD><TD ><A HREF = "fix_ave_time.html">ave/time</A></TD><TD ><A HREF = "fix_bond_break.html">bond/break</A></TD><TD ><A HREF = "fix_bond_create.html">bond/create</A></TD><TD ><A HREF = "fix_bond_swap.html">bond/swap</A></TD></TR>
|
||||||
<TR ALIGN="center"><TD ><A HREF = "fix_box_relax.html">box</A></TD><TD ><A HREF = "fix_com.html">com</A></TD><TD ><A HREF = "fix_coord_original.html">coord/original</A></TD><TD ><A HREF = "fix_deform.html">deform</A></TD><TD ><A HREF = "fix_deposit.html">deposit</A></TD><TD ><A HREF = "fix_drag.html">drag</A></TD><TD ><A HREF = "fix_dt_reset.html">dt/reset</A></TD><TD ><A HREF = "fix_efield.html">efield</A></TD></TR>
|
<TR ALIGN="center"><TD ><A HREF = "fix_box_relax.html">box/relax</A></TD><TD ><A HREF = "fix_com.html">com</A></TD><TD ><A HREF = "fix_coord_original.html">coord/original</A></TD><TD ><A HREF = "fix_deform.html">deform</A></TD><TD ><A HREF = "fix_deposit.html">deposit</A></TD><TD ><A HREF = "fix_drag.html">drag</A></TD><TD ><A HREF = "fix_dt_reset.html">dt/reset</A></TD><TD ><A HREF = "fix_efield.html">efield</A></TD></TR>
|
||||||
<TR ALIGN="center"><TD ><A HREF = "fix_enforce2d.html">enforce2d</A></TD><TD ><A HREF = "fix_freeze.html">freeze</A></TD><TD ><A HREF = "fix_gravity.html">gravity</A></TD><TD ><A HREF = "fix_gyration.html">gyration</A></TD><TD ><A HREF = "fix_heat.html">heat</A></TD><TD ><A HREF = "fix_indent.html">indent</A></TD><TD ><A HREF = "fix_langevin.html">langevin</A></TD><TD ><A HREF = "fix_lineforce.html">lineforce</A></TD></TR>
|
<TR ALIGN="center"><TD ><A HREF = "fix_enforce2d.html">enforce2d</A></TD><TD ><A HREF = "fix_freeze.html">freeze</A></TD><TD ><A HREF = "fix_gravity.html">gravity</A></TD><TD ><A HREF = "fix_gyration.html">gyration</A></TD><TD ><A HREF = "fix_heat.html">heat</A></TD><TD ><A HREF = "fix_indent.html">indent</A></TD><TD ><A HREF = "fix_langevin.html">langevin</A></TD><TD ><A HREF = "fix_lineforce.html">lineforce</A></TD></TR>
|
||||||
<TR ALIGN="center"><TD ><A HREF = "fix_msd.html">msd</A></TD><TD ><A HREF = "fix_momentum.html">momentum</A></TD><TD ><A HREF = "fix_nph.html">nph</A></TD><TD ><A HREF = "fix_npt.html">npt</A></TD><TD ><A HREF = "fix_npt_asphere.html">npt/asphere</A></TD><TD ><A HREF = "fix_npt_sphere.html">npt/sphere</A></TD><TD ><A HREF = "fix_nve.html">nve</A></TD><TD ><A HREF = "fix_nve_asphere.html">nve/asphere</A></TD></TR>
|
<TR ALIGN="center"><TD ><A HREF = "fix_msd.html">msd</A></TD><TD ><A HREF = "fix_momentum.html">momentum</A></TD><TD ><A HREF = "fix_nph.html">nph</A></TD><TD ><A HREF = "fix_npt.html">npt</A></TD><TD ><A HREF = "fix_npt_asphere.html">npt/asphere</A></TD><TD ><A HREF = "fix_npt_sphere.html">npt/sphere</A></TD><TD ><A HREF = "fix_nve.html">nve</A></TD><TD ><A HREF = "fix_nve_asphere.html">nve/asphere</A></TD></TR>
|
||||||
<TR ALIGN="center"><TD ><A HREF = "fix_nve_limit.html">nve/limit</A></TD><TD ><A HREF = "fix_nve_noforce.html">nve/noforce</A></TD><TD ><A HREF = "fix_nve_sphere.html">nve/sphere</A></TD><TD ><A HREF = "fix_nvt.html">nvt</A></TD><TD ><A HREF = "fix_nvt_asphere.html">nvt/asphere</A></TD><TD ><A HREF = "fix_nvt_sllod.html">nvt/sllod</A></TD><TD ><A HREF = "fix_nvt_sphere.html">nvt/sphere</A></TD><TD ><A HREF = "fix_orient_fcc.html">orient/fcc</A></TD></TR>
|
<TR ALIGN="center"><TD ><A HREF = "fix_nve_limit.html">nve/limit</A></TD><TD ><A HREF = "fix_nve_noforce.html">nve/noforce</A></TD><TD ><A HREF = "fix_nve_sphere.html">nve/sphere</A></TD><TD ><A HREF = "fix_nvt.html">nvt</A></TD><TD ><A HREF = "fix_nvt_asphere.html">nvt/asphere</A></TD><TD ><A HREF = "fix_nvt_sllod.html">nvt/sllod</A></TD><TD ><A HREF = "fix_nvt_sphere.html">nvt/sphere</A></TD><TD ><A HREF = "fix_orient_fcc.html">orient/fcc</A></TD></TR>
|
||||||
|
|
|
@ -383,7 +383,7 @@ of each style or click on the style itself for a full description:
|
||||||
"bond/break"_fix_bond_break.html,
|
"bond/break"_fix_bond_break.html,
|
||||||
"bond/create"_fix_bond_create.html,
|
"bond/create"_fix_bond_create.html,
|
||||||
"bond/swap"_fix_bond_swap.html,
|
"bond/swap"_fix_bond_swap.html,
|
||||||
"box"_fix_box_relax.html,
|
"box/relax"_fix_box_relax.html,
|
||||||
"com"_fix_com.html,
|
"com"_fix_com.html,
|
||||||
"coord/original"_fix_coord_original.html,
|
"coord/original"_fix_coord_original.html,
|
||||||
"deform"_fix_deform.html,
|
"deform"_fix_deform.html,
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
<LI>pressure = style name of this compute command
|
<LI>pressure = style name of this compute command
|
||||||
<LI>temp-ID = ID of compute that calculates temperature
|
<LI>temp-ID = ID of compute that calculates temperature
|
||||||
<LI>zero or more keywords may be appended
|
<LI>zero or more keywords may be appended
|
||||||
<LI>keyword = <I>ke</I> or <I>pair</I> or <I>bond</I> or <I>angle</I> or <I>dihedral</I> or <I>improper</I> or <I>kspace</I> or <I>fix</I>
|
<LI>keyword = <I>ke</I> or <I>pair</I> or <I>bond</I> or <I>angle</I> or <I>dihedral</I> or <I>improper</I> or <I>kspace</I> or <I>fix</I> or <I>virial</I>
|
||||||
</UL>
|
</UL>
|
||||||
<P><B>Examples:</B>
|
<P><B>Examples:</B>
|
||||||
</P>
|
</P>
|
||||||
|
@ -59,11 +59,12 @@ tensor:
|
||||||
<CENTER><IMG SRC = "Eqs/pressure_tensor.jpg">
|
<CENTER><IMG SRC = "Eqs/pressure_tensor.jpg">
|
||||||
</CENTER>
|
</CENTER>
|
||||||
<P>If no extra keywords are listed, the entire equations above are
|
<P>If no extra keywords are listed, the entire equations above are
|
||||||
calculated which include a temperature (or kinetic energy) term and
|
calculated which include a kinetic energy (temperature) term and the
|
||||||
the virial as the sum of pair, bond, angle, dihedral, improper, kspace
|
virial as the sum of pair, bond, angle, dihedral, improper, kspace
|
||||||
(long-range), and fix contributions to the force on each atom. If any
|
(long-range), and fix contributions to the force on each atom. If any
|
||||||
extra keywords are listed, then only those components are summed to
|
extra keywords are listed, then only those components are summed to
|
||||||
compute temperature or ke and/or the virial.
|
compute temperature or ke and/or the virial. The <I>virial</I> keyword
|
||||||
|
means include all terms except the kinetic energy <I>ke</I>.
|
||||||
</P>
|
</P>
|
||||||
<P>The temperature and kinetic energy tensor is not calculated by this
|
<P>The temperature and kinetic energy tensor is not calculated by this
|
||||||
compute, but rather by the temperature compute specified with the
|
compute, but rather by the temperature compute specified with the
|
||||||
|
|
|
@ -16,7 +16,7 @@ ID, group-ID are documented in "compute"_compute.html command
|
||||||
pressure = style name of this compute command
|
pressure = style name of this compute command
|
||||||
temp-ID = ID of compute that calculates temperature
|
temp-ID = ID of compute that calculates temperature
|
||||||
zero or more keywords may be appended
|
zero or more keywords may be appended
|
||||||
keyword = {ke} or {pair} or {bond} or {angle} or {dihedral} or {improper} or {kspace} or {fix} :ul
|
keyword = {ke} or {pair} or {bond} or {angle} or {dihedral} or {improper} or {kspace} or {fix} or {virial} :ul
|
||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
|
@ -56,11 +56,12 @@ tensor:
|
||||||
:c,image(Eqs/pressure_tensor.jpg)
|
:c,image(Eqs/pressure_tensor.jpg)
|
||||||
|
|
||||||
If no extra keywords are listed, the entire equations above are
|
If no extra keywords are listed, the entire equations above are
|
||||||
calculated which include a temperature (or kinetic energy) term and
|
calculated which include a kinetic energy (temperature) term and the
|
||||||
the virial as the sum of pair, bond, angle, dihedral, improper, kspace
|
virial as the sum of pair, bond, angle, dihedral, improper, kspace
|
||||||
(long-range), and fix contributions to the force on each atom. If any
|
(long-range), and fix contributions to the force on each atom. If any
|
||||||
extra keywords are listed, then only those components are summed to
|
extra keywords are listed, then only those components are summed to
|
||||||
compute temperature or ke and/or the virial.
|
compute temperature or ke and/or the virial. The {virial} keyword
|
||||||
|
means include all terms except the kinetic energy {ke}.
|
||||||
|
|
||||||
The temperature and kinetic energy tensor is not calculated by this
|
The temperature and kinetic energy tensor is not calculated by this
|
||||||
compute, but rather by the temperature compute specified with the
|
compute, but rather by the temperature compute specified with the
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
<UL><LI>ID, group-ID are documented in <A HREF = "compute.html">compute</A> command
|
<UL><LI>ID, group-ID are documented in <A HREF = "compute.html">compute</A> command
|
||||||
<LI>stress/atom = style name of this compute command
|
<LI>stress/atom = style name of this compute command
|
||||||
<LI>zero or more keywords may be appended
|
<LI>zero or more keywords may be appended
|
||||||
<LI>keyword = <I>ke</I> or <I>pair</I> or <I>bond</I> or <I>angle</I> or <I>dihedral</I> or <I>improper</I> or <I>fix</I>
|
<LI>keyword = <I>ke</I> or <I>pair</I> or <I>bond</I> or <I>angle</I> or <I>dihedral</I> or <I>improper</I> or <I>fix</I> or <I>virial</I>
|
||||||
</UL>
|
</UL>
|
||||||
<P><B>Examples:</B>
|
<P><B>Examples:</B>
|
||||||
</P>
|
</P>
|
||||||
|
@ -67,7 +67,9 @@ command.
|
||||||
</P>
|
</P>
|
||||||
<P>If no extra keywords are listed, all of the terms in this formula are
|
<P>If no extra keywords are listed, all of the terms in this formula are
|
||||||
included in the per-atom stress tensor. If any extra keywords are
|
included in the per-atom stress tensor. If any extra keywords are
|
||||||
listed, only those terms are summed to compute the tensor.
|
listed, only those terms are summed to compute the tensor. The
|
||||||
|
<I>virial</I> keyword means include all terms except the kinetic energy
|
||||||
|
<I>ke</I>.
|
||||||
</P>
|
</P>
|
||||||
<P>Note that the stress for each atom is due to its interaction with all
|
<P>Note that the stress for each atom is due to its interaction with all
|
||||||
other atoms in the simulation, not just with other atoms in the group.
|
other atoms in the simulation, not just with other atoms in the group.
|
||||||
|
|
|
@ -15,7 +15,7 @@ compute ID group-ID stress/atom keyword ... :pre
|
||||||
ID, group-ID are documented in "compute"_compute.html command
|
ID, group-ID are documented in "compute"_compute.html command
|
||||||
stress/atom = style name of this compute command
|
stress/atom = style name of this compute command
|
||||||
zero or more keywords may be appended
|
zero or more keywords may be appended
|
||||||
keyword = {ke} or {pair} or {bond} or {angle} or {dihedral} or {improper} or {fix} :ul
|
keyword = {ke} or {pair} or {bond} or {angle} or {dihedral} or {improper} or {fix} or {virial} :ul
|
||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
|
@ -64,7 +64,9 @@ command.
|
||||||
|
|
||||||
If no extra keywords are listed, all of the terms in this formula are
|
If no extra keywords are listed, all of the terms in this formula are
|
||||||
included in the per-atom stress tensor. If any extra keywords are
|
included in the per-atom stress tensor. If any extra keywords are
|
||||||
listed, only those terms are summed to compute the tensor.
|
listed, only those terms are summed to compute the tensor. The
|
||||||
|
{virial} keyword means include all terms except the kinetic energy
|
||||||
|
{ke}.
|
||||||
|
|
||||||
Note that the stress for each atom is due to its interaction with all
|
Note that the stress for each atom is due to its interaction with all
|
||||||
other atoms in the simulation, not just with other atoms in the group.
|
other atoms in the simulation, not just with other atoms in the group.
|
||||||
|
|
|
@ -27,15 +27,16 @@
|
||||||
</PRE>
|
</PRE>
|
||||||
<LI>zero or more keyword/value pairs may be appended to the args
|
<LI>zero or more keyword/value pairs may be appended to the args
|
||||||
|
|
||||||
<LI>keyword = <I>dilate</I>
|
<LI>keyword = <I>dilate</I> or <I>vmax</I>
|
||||||
|
|
||||||
<PRE> <I>dilate</I> value = <I>all</I> or <I>partial</I>
|
<PRE> <I>dilate</I> value = <I>all</I> or <I>partial</I>
|
||||||
|
<I>vmax</I> value = fraction = max allowed volume change in one iteration
|
||||||
</PRE>
|
</PRE>
|
||||||
|
|
||||||
</UL>
|
</UL>
|
||||||
<P><B>Examples:</B>
|
<P><B>Examples:</B>
|
||||||
</P>
|
</P>
|
||||||
<PRE>fix 1 all box/relax xyz 0.0
|
<PRE>fix 1 all box/relax xyz 0.0 vmax 0.001
|
||||||
fix 2 water box/relax aniso 0.0 0.0 1000.0 dilate partial
|
fix 2 water box/relax aniso 0.0 0.0 1000.0 dilate partial
|
||||||
</PRE>
|
</PRE>
|
||||||
<P><B>Description:</B>
|
<P><B>Description:</B>
|
||||||
|
@ -82,24 +83,57 @@ re-scaled. This can be useful for leaving the coordinates of atoms in
|
||||||
a solid substrate unchanged and controlling the pressure of a
|
a solid substrate unchanged and controlling the pressure of a
|
||||||
surrounding fluid.
|
surrounding fluid.
|
||||||
</P>
|
</P>
|
||||||
|
<P>The <I>vmax</I> keyword can be used to limit the fractional change in the
|
||||||
|
volume of the simulation box that can occur in one iteration of the
|
||||||
|
minimizer. If the pressure is not settling down during the
|
||||||
|
minimization this can be because the volume is fluctuating too much.
|
||||||
|
The specfied fraction must be greater than 0.0 and should be << 1.0.
|
||||||
|
A value of 0.001 means the volume cannot change by more than 1/10 of a
|
||||||
|
percent in one iteration for style <I>xyz</I>. For the other styles it
|
||||||
|
means no linear dimension of the simulation box can change by more
|
||||||
|
than 1/10 of a percent.
|
||||||
|
</P>
|
||||||
|
<P>IMPORTANT NOTE: As normally computed, pressure includes a kinetic-
|
||||||
|
energy or temperature-dependent component; see the <A HREF = "compute_pressure.html">compute
|
||||||
|
pressure</A> command. However, atom velocities are
|
||||||
|
ignored during a minimization, and the applied pressure(s) specified
|
||||||
|
with this command are assumed to only be the virial component of the
|
||||||
|
pressure (the non-kinetic portion). Thus if atoms have a non-zero
|
||||||
|
temperature and you print the usual thermodynamic pressure, it may not
|
||||||
|
appear the system is converging to your specified pressure. The
|
||||||
|
solution for this is to either (a) zero the velocities of all atoms
|
||||||
|
before performing the minimization, or (b) make sure you are
|
||||||
|
monitoring the pressure without its kinetic component. The latter
|
||||||
|
can be done by outputting the pressure from the fix this command
|
||||||
|
creates (see below) or a pressure fix you define yourself.
|
||||||
|
</P>
|
||||||
|
<P>IMPORTANT NOTE: Because pressure is often a very sensitive function of
|
||||||
|
volume, it can be difficult for the minimizer to equilibrate the
|
||||||
|
system the desired pressure with high precision. Some techiniques
|
||||||
|
that seem to help are (a) use the "min_modify line quadratic" option
|
||||||
|
when minimizing with box relaxtions, and (b) minimize several times in
|
||||||
|
succession if need be, to drive the pressure closer to the target
|
||||||
|
pressure. Also note that some systems (e.g. liquids) will not sustain
|
||||||
|
an anisotropic applied pressure, which means the minimizer will not
|
||||||
|
converge.
|
||||||
|
</P>
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<P>This fix computes a temperature and pressure each timestep. The
|
<P>This fix computes a temperature and pressure each timestep. The
|
||||||
temperature is used to compute the kinetic contribution to the
|
temperature is used to compute the kinetic contribution to the
|
||||||
pressure. Since atom velocities do not change during minimization,
|
pressure, even though this is subsequently ignored by default. To do
|
||||||
that contribution will depend on what atom velocities are at the
|
this, the fix creates its own computes of style "temp" and "pressure",
|
||||||
beginning of the minimization procedure, and will remain constant. To
|
as if these commands had been issued:
|
||||||
do this, the fix creates its own computes of style "temp" and
|
|
||||||
"pressure", as if these commands had been issued:
|
|
||||||
</P>
|
</P>
|
||||||
<PRE>compute fix-ID_temp group-ID temp
|
<PRE>compute fix-ID_temp group-ID temp
|
||||||
compute fix-ID_press group-ID pressure fix-ID_temp
|
compute fix-ID_press group-ID pressure fix-ID_temp virial
|
||||||
</PRE>
|
</PRE>
|
||||||
<P>See the <A HREF = "compute_temp.html">compute temp</A> and <A HREF = "compute_pressure.html">compute
|
<P>See the <A HREF = "compute_temp.html">compute temp</A> and <A HREF = "compute_pressure.html">compute
|
||||||
pressure</A> commands for details. Note that the
|
pressure</A> commands for details. Note that the
|
||||||
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
|
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
|
||||||
+ underscore + "press", and the group for the new computes is the same
|
+ underscore + "press", and the group for the new computes is the same
|
||||||
as the fix group.
|
as the fix group. Also note that the pressure compute does not
|
||||||
|
include a kinetic component.
|
||||||
</P>
|
</P>
|
||||||
<P>Note that these are NOT the computes used by thermodynamic output (see
|
<P>Note that these are NOT the computes used by thermodynamic output (see
|
||||||
the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>
|
the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>
|
||||||
|
@ -111,17 +145,6 @@ custom</A> command using the appropriate compute-ID.
|
||||||
It also means that changing attributes of <I>thermo_temp</I> or
|
It also means that changing attributes of <I>thermo_temp</I> or
|
||||||
<I>thermo_press</I> will have no effect on this fix.
|
<I>thermo_press</I> will have no effect on this fix.
|
||||||
</P>
|
</P>
|
||||||
<P>Like other fixes that perform thermostatting, this fix can be used
|
|
||||||
with <A HREF = "compute.html">compute commands</A> that calculate a temperature
|
|
||||||
after removing a "bias" from the atom velocities. E.g. removing the
|
|
||||||
center-of-mass velocity from a group of atoms or only calculating
|
|
||||||
temperature on the x-component of velocity or only calculating
|
|
||||||
temperature for atoms in a geometric region. This is not done by
|
|
||||||
default, but only if the <A HREF = "fix_modify.html">fix_modify</A> command is used
|
|
||||||
to assign a temperature compute to this fix that includes such a bias
|
|
||||||
term. See the doc pages for individual <A HREF = "compute.html">compute
|
|
||||||
commands</A> to determine which ones include a bias.
|
|
||||||
</P>
|
|
||||||
<HR>
|
<HR>
|
||||||
|
|
||||||
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
|
<P><B>Restart, fix_modify, output, run start/stop, minimize info:</B>
|
||||||
|
@ -132,11 +155,10 @@ files</A>.
|
||||||
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> and <I>press</I> options are
|
<P>The <A HREF = "fix_modify.html">fix_modify</A> <I>temp</I> and <I>press</I> options are
|
||||||
supported by this fix. You can use them to assign a
|
supported by this fix. You can use them to assign a
|
||||||
<A HREF = "compute.html">compute</A> you have defined to this fix which will be used
|
<A HREF = "compute.html">compute</A> you have defined to this fix which will be used
|
||||||
in its temperature and pressure calculation, as described above. If
|
in its temperature and pressure calculation, as described above. Note
|
||||||
you do this, note that the kinetic energy derived from the compute
|
that as described above, if you assign a pressure compute to this fix
|
||||||
temperature should be consistent with the virial term computed using
|
that includes a kinetic energy component it will affect the
|
||||||
all atoms for the pressure. LAMMPS will warn you if you choose to
|
minimization, most likely in an undesirable way.
|
||||||
compute temperature on a subset of atoms.
|
|
||||||
</P>
|
</P>
|
||||||
<P>IMPORTANT NOTE: If both the <I>temp</I> and <I>press</I> keywords are used in a
|
<P>IMPORTANT NOTE: If both the <I>temp</I> and <I>press</I> keywords are used in a
|
||||||
single thermo_modify command (or in two separate commands), then the
|
single thermo_modify command (or in two separate commands), then the
|
||||||
|
@ -156,8 +178,8 @@ the <A HREF = "run.html">run</A> command.
|
||||||
</P>
|
</P>
|
||||||
<P>This fix is invoked during <A HREF = "minimize.html">energy minimization</A>, but
|
<P>This fix is invoked during <A HREF = "minimize.html">energy minimization</A>, but
|
||||||
not for the purpose of adding a contribution to the energy or forces
|
not for the purpose of adding a contribution to the energy or forces
|
||||||
being minimized. Instead it alters the box geometry as described
|
being minimized. Instead it alters the simulation box geometry as
|
||||||
above.
|
described above.
|
||||||
</P>
|
</P>
|
||||||
<P><B>Restrictions:</B>
|
<P><B>Restrictions:</B>
|
||||||
</P>
|
</P>
|
||||||
|
@ -171,6 +193,6 @@ periodic.
|
||||||
</P>
|
</P>
|
||||||
<P><B>Default:</B>
|
<P><B>Default:</B>
|
||||||
</P>
|
</P>
|
||||||
<P>The keyword default is dilate = all.
|
<P>The keyword defaults are dilate = all and vmax = 0.0001.
|
||||||
</P>
|
</P>
|
||||||
</HTML>
|
</HTML>
|
||||||
|
|
|
@ -20,13 +20,14 @@ style = {xyz} or {xy} or {yz} or {xz} or {aniso} :l
|
||||||
Px,Py,Pz = desired pressure in x,y,z (pressure units) :pre
|
Px,Py,Pz = desired pressure in x,y,z (pressure units) :pre
|
||||||
|
|
||||||
zero or more keyword/value pairs may be appended to the args :l
|
zero or more keyword/value pairs may be appended to the args :l
|
||||||
keyword = {dilate} :l
|
keyword = {dilate} or {vmax} :l
|
||||||
{dilate} value = {all} or {partial} :pre
|
{dilate} value = {all} or {partial}
|
||||||
|
{vmax} value = fraction = max allowed volume change in one iteration :pre
|
||||||
:ule
|
:ule
|
||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
fix 1 all box/relax xyz 0.0
|
fix 1 all box/relax xyz 0.0 vmax 0.001
|
||||||
fix 2 water box/relax aniso 0.0 0.0 1000.0 dilate partial :pre
|
fix 2 water box/relax aniso 0.0 0.0 1000.0 dilate partial :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
@ -73,24 +74,57 @@ re-scaled. This can be useful for leaving the coordinates of atoms in
|
||||||
a solid substrate unchanged and controlling the pressure of a
|
a solid substrate unchanged and controlling the pressure of a
|
||||||
surrounding fluid.
|
surrounding fluid.
|
||||||
|
|
||||||
|
The {vmax} keyword can be used to limit the fractional change in the
|
||||||
|
volume of the simulation box that can occur in one iteration of the
|
||||||
|
minimizer. If the pressure is not settling down during the
|
||||||
|
minimization this can be because the volume is fluctuating too much.
|
||||||
|
The specfied fraction must be greater than 0.0 and should be << 1.0.
|
||||||
|
A value of 0.001 means the volume cannot change by more than 1/10 of a
|
||||||
|
percent in one iteration for style {xyz}. For the other styles it
|
||||||
|
means no linear dimension of the simulation box can change by more
|
||||||
|
than 1/10 of a percent.
|
||||||
|
|
||||||
|
IMPORTANT NOTE: As normally computed, pressure includes a kinetic-
|
||||||
|
energy or temperature-dependent component; see the "compute
|
||||||
|
pressure"_compute_pressure.html command. However, atom velocities are
|
||||||
|
ignored during a minimization, and the applied pressure(s) specified
|
||||||
|
with this command are assumed to only be the virial component of the
|
||||||
|
pressure (the non-kinetic portion). Thus if atoms have a non-zero
|
||||||
|
temperature and you print the usual thermodynamic pressure, it may not
|
||||||
|
appear the system is converging to your specified pressure. The
|
||||||
|
solution for this is to either (a) zero the velocities of all atoms
|
||||||
|
before performing the minimization, or (b) make sure you are
|
||||||
|
monitoring the pressure without its kinetic component. The latter
|
||||||
|
can be done by outputting the pressure from the fix this command
|
||||||
|
creates (see below) or a pressure fix you define yourself.
|
||||||
|
|
||||||
|
IMPORTANT NOTE: Because pressure is often a very sensitive function of
|
||||||
|
volume, it can be difficult for the minimizer to equilibrate the
|
||||||
|
system the desired pressure with high precision. Some techiniques
|
||||||
|
that seem to help are (a) use the "min_modify line quadratic" option
|
||||||
|
when minimizing with box relaxtions, and (b) minimize several times in
|
||||||
|
succession if need be, to drive the pressure closer to the target
|
||||||
|
pressure. Also note that some systems (e.g. liquids) will not sustain
|
||||||
|
an anisotropic applied pressure, which means the minimizer will not
|
||||||
|
converge.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
This fix computes a temperature and pressure each timestep. The
|
This fix computes a temperature and pressure each timestep. The
|
||||||
temperature is used to compute the kinetic contribution to the
|
temperature is used to compute the kinetic contribution to the
|
||||||
pressure. Since atom velocities do not change during minimization,
|
pressure, even though this is subsequently ignored by default. To do
|
||||||
that contribution will depend on what atom velocities are at the
|
this, the fix creates its own computes of style "temp" and "pressure",
|
||||||
beginning of the minimization procedure, and will remain constant. To
|
as if these commands had been issued:
|
||||||
do this, the fix creates its own computes of style "temp" and
|
|
||||||
"pressure", as if these commands had been issued:
|
|
||||||
|
|
||||||
compute fix-ID_temp group-ID temp
|
compute fix-ID_temp group-ID temp
|
||||||
compute fix-ID_press group-ID pressure fix-ID_temp :pre
|
compute fix-ID_press group-ID pressure fix-ID_temp virial :pre
|
||||||
|
|
||||||
See the "compute temp"_compute_temp.html and "compute
|
See the "compute temp"_compute_temp.html and "compute
|
||||||
pressure"_compute_pressure.html commands for details. Note that the
|
pressure"_compute_pressure.html commands for details. Note that the
|
||||||
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
|
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
|
||||||
+ underscore + "press", and the group for the new computes is the same
|
+ underscore + "press", and the group for the new computes is the same
|
||||||
as the fix group.
|
as the fix group. Also note that the pressure compute does not
|
||||||
|
include a kinetic component.
|
||||||
|
|
||||||
Note that these are NOT the computes used by thermodynamic output (see
|
Note that these are NOT the computes used by thermodynamic output (see
|
||||||
the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}
|
the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}
|
||||||
|
@ -102,17 +136,6 @@ custom"_thermo_style.html command using the appropriate compute-ID.
|
||||||
It also means that changing attributes of {thermo_temp} or
|
It also means that changing attributes of {thermo_temp} or
|
||||||
{thermo_press} will have no effect on this fix.
|
{thermo_press} will have no effect on this fix.
|
||||||
|
|
||||||
Like other fixes that perform thermostatting, this fix can be used
|
|
||||||
with "compute commands"_compute.html that calculate a temperature
|
|
||||||
after removing a "bias" from the atom velocities. E.g. removing the
|
|
||||||
center-of-mass velocity from a group of atoms or only calculating
|
|
||||||
temperature on the x-component of velocity or only calculating
|
|
||||||
temperature for atoms in a geometric region. This is not done by
|
|
||||||
default, but only if the "fix_modify"_fix_modify.html command is used
|
|
||||||
to assign a temperature compute to this fix that includes such a bias
|
|
||||||
term. See the doc pages for individual "compute
|
|
||||||
commands"_compute.html to determine which ones include a bias.
|
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||||
|
@ -123,11 +146,10 @@ files"_restart.html.
|
||||||
The "fix_modify"_fix_modify.html {temp} and {press} options are
|
The "fix_modify"_fix_modify.html {temp} and {press} options are
|
||||||
supported by this fix. You can use them to assign a
|
supported by this fix. You can use them to assign a
|
||||||
"compute"_compute.html you have defined to this fix which will be used
|
"compute"_compute.html you have defined to this fix which will be used
|
||||||
in its temperature and pressure calculation, as described above. If
|
in its temperature and pressure calculation, as described above. Note
|
||||||
you do this, note that the kinetic energy derived from the compute
|
that as described above, if you assign a pressure compute to this fix
|
||||||
temperature should be consistent with the virial term computed using
|
that includes a kinetic energy component it will affect the
|
||||||
all atoms for the pressure. LAMMPS will warn you if you choose to
|
minimization, most likely in an undesirable way.
|
||||||
compute temperature on a subset of atoms.
|
|
||||||
|
|
||||||
IMPORTANT NOTE: If both the {temp} and {press} keywords are used in a
|
IMPORTANT NOTE: If both the {temp} and {press} keywords are used in a
|
||||||
single thermo_modify command (or in two separate commands), then the
|
single thermo_modify command (or in two separate commands), then the
|
||||||
|
@ -147,8 +169,8 @@ the "run"_run.html command.
|
||||||
|
|
||||||
This fix is invoked during "energy minimization"_minimize.html, but
|
This fix is invoked during "energy minimization"_minimize.html, but
|
||||||
not for the purpose of adding a contribution to the energy or forces
|
not for the purpose of adding a contribution to the energy or forces
|
||||||
being minimized. Instead it alters the box geometry as described
|
being minimized. Instead it alters the simulation box geometry as
|
||||||
above.
|
described above.
|
||||||
|
|
||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
|
@ -162,4 +184,4 @@ periodic.
|
||||||
|
|
||||||
[Default:]
|
[Default:]
|
||||||
|
|
||||||
The keyword default is dilate = all.
|
The keyword defaults are dilate = all and vmax = 0.0001.
|
||||||
|
|
Loading…
Reference in New Issue