diff --git a/doc/fix_nph.html b/doc/fix_nph.html index 825e051f0..13fde0bba 100644 --- a/doc/fix_nph.html +++ b/doc/fix_nph.html @@ -1,224 +1,228 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix nph command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID nph p-style args keyword value ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>nph = style name of this fix command <LI>p-style = <I>xyz</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I> <PRE> <I>xyz</I> args = Pstart Pstop Pdamp Pstart,Pstop = desired pressure at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) <I>xy</I> or <I>yz</I> or <I>xz</I> args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at start/end (0/1) of run (pressure units) Pdamp = pressure damping parameter (time units) <I>aniso</I> args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at start/end (0/1) of run (pressure units) Pdamp = pressure damping parameter (time units) </PRE> <LI>zero or more keyword/value pairs may be appended <LI>keyword = <I>drag</I> or <I>dilate</I> <PRE> <I>drag</I> value = drag factor added to barostat (0.0 = no drag) <I>dilate</I> value = <I>all</I> or <I>partial</I> </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all nph xyz 0.0 0.0 1000.0 fix 2 all nph xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 1.0 fix 2 all nph aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 </PRE> <P><B>Description:</B> </P> <P>Perform constant NPH integration to update positions and velocities each timestep for atoms in the group using a Nose/Hoover pressure barostat <A HREF = "#Hoover">(Hoover)</A>, implemented as described in <A HREF = "#Melchionna">(Melchionna)</A>. P is pressure. This creates a system trajectory consistent with the isobaric ensemble. Unlike <A HREF = "fix_npt.html">fix npt</A>, temperature will not be controlled if no other fix is used. Temperature can be controlled independently by using a thermostatting fis such as <A HREF = "fix_langevin.html">fix langevin</A> or <A HREF = "fix_temp_rescale.html">fix temp/rescale</A>. </P> <P>The atoms in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the NPT integration. </P> <P>Regardless of what atoms are in the fix group, a global pressure is computed for all atoms. Similarly, when the size of the simulation box is changed, all atoms are re-scaled to new positions, unless the keyword <I>dilate</I> is specified with a value of <I>partial</I>, in which case only the atoms in the fix group are re-scaled. The latter can be useful for leaving the coordinates of atoms in a solid substrate unchanged and controlling the pressure of a surrounding fluid. </P> <P>IMPORTANT NOTE: Unlike the <A HREF = "fix_press_berendsen.html">fix press/berendsen</A> command which performs barostatting but NO time integration, this fix performs barostatting AND time integration. Thus you should not use any other time integration fix, such as <A HREF = "fix_nve.html">fix nve</A> or <A HREF = "fix_nvt.html">fix nvt</A> on atoms to which this fix is applied. Use <A HREF = "fix_npt.html">fix npt</A> instead of this fix, if you want to control both temperature and pressure via Nose/Hoover. </P> <P>See <A HREF = "Section_howto.html#4_16">this howto section</A> of the manual for a discussion of different ways to compute temperature and perform thermostatting and barostatting. </P> <HR> <P>The pressure can be controlled in one of several styles, as specified by the <I>p-style</I> argument. In each case, the desired pressure at each timestep is a ramped value during the run from the starting value to the end value. </P> <P>Style <I>xyz</I> means couple all dimensions together when pressure is computed (isotropic pressure), and dilate/contract the dimensions together. </P> <P>Styles <I>xy</I> or <I>yz</I> or <I>xz</I> means that the 2 specified dimensions are coupled together, both for pressure computation and for dilation/contraction. The 3rd dimension dilates/contracts independently, using its pressure component as the driving force. These styles cannot be used for a 2d simulation. </P> <P>For style <I>aniso</I>, all dimensions dilate/contract independently using their individual pressure components as the driving forces. </P> <P>For any of the styles except <I>xyz</I>, any of the independent pressure components (e.g. z in <I>xy</I>, or any dimension in <I>aniso</I>) can have their target pressures (both start and stop values) specified as NULL. This means that no pressure control is applied to that dimension so that the box dimension remains unchanged. For a 2d simulation the z pressure components must be specified as NULL when using style <I>aniso</I>. </P> +<P>For styles <I>xy</I> and <I>yz</I> and <I>xz</I>, the starting and stopping pressures +must be the same for the two coupled dimensions and cannot be +specified as NULL. +</P> <P>In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat is applied. The optional <I>drag</I> keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the pressure is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. </P> <P>For all pressure styles, the simulation box stays rectangular in shape. Parinello-Rahman boundary condition for tilted boxes (triclinic symmetry) are supported by other LAMMPS commands (see <A HREF = "Section_howto.html#4_12">this section</A> of the manual), but not yet by this command. </P> <P>For all styles, the <I>Pdamp</I> parameter determines the time scale on which pressure is relaxed. For example, a value of 1000.0 means to relax the pressure in a timespan of (roughly) 1000 time units (tau or fmsec or psec - see the <A HREF = "units.html">units</A> command). </P> <HR> <P>This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp" and "pressure", as if these commands had been issued: </P> <PRE>compute fix-ID_temp group-ID temp </PRE> <PRE>compute fix-ID_press group-ID pressure fix-ID_temp </PRE> <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 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 as the fix group. </P> <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> and <I>thermo_press</I>. This means you can change the attributes of this fix's temperature or pressure via the <A HREF = "compute_modify.html">compute_modify</A> command or print this temperature or pressure during thermodynamic output via the <A HREF = "thermo_style.html">thermo_style custom</A> command using the appropriate compute-ID. It also means that changing attributes of <I>thermo_temp</I> or <I>thermo_press</I> will have no effect on this fix. </P> <P><B>Restart, fix_modify, output, run start/stop, minimize info:</B> </P> <P>This fix writes the state of the Nose/Hoover barostat to <A HREF = "restart.html">binary restart files</A>. See the <A HREF = "read_restart.html">read_restart</A> 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. </P> <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 <A HREF = "compute.html">compute</A> you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. </P> <P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this fix to add the energy change induced by Nose/Hoover barostatting to the system's potential energy as part of <A HREF = "thermo_style.html">thermodynamic output</A>. </P> <P>The potential energy change due to this fix is stored as a scalar quantity, which can be accessed by various <A HREF = "Section_howto.html#4_15">output commands</A>. The scalar value calculated by this fix is "extensive", meaning it scales with the number of atoms in the simulation. </P> <P>This fix can ramp its target pressure over multiple runs, using the <I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the <A HREF = "run.html">run</A> command for details of how to do this. </P> <P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>. </P> <P><B>Restrictions:</B> </P> <P>Any dimension being adjusted by this fix must be periodic. A dimension whose target pressures are specified as NULL can be non-periodic or periodic. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_npt.html">fix npt</A>, <A HREF = "fix_modify.html">fix_modify</A> </P> <P><B>Default:</B> </P> <P>The keyword defaults are drag = 0.0 and dilate = all. </P> <HR> <A NAME = "Hoover"></A> <P><B>(Hoover)</B> Hoover, Phys Rev A, 34, 2499 (1986). </P> <A NAME = "Melchionna"></A> <P><B>(Melchionna)</B> Melchionna, Ciccotti, Holian, Molecular Physics, 78, 533-44 (1993). </P> </HTML> diff --git a/doc/fix_nph.txt b/doc/fix_nph.txt index b064aa76b..92a058967 100644 --- a/doc/fix_nph.txt +++ b/doc/fix_nph.txt @@ -1,210 +1,214 @@ "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 nph command :h3 [Syntax:] fix ID group-ID nph p-style args keyword value ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l nph = style name of this fix command :l p-style = {xyz} or {xy} or {yz} or {xz} or {aniso} :l {xyz} args = Pstart Pstop Pdamp Pstart,Pstop = desired pressure at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) {xy} or {yz} or {xz} args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at start/end (0/1) of run (pressure units) Pdamp = pressure damping parameter (time units) {aniso} args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at start/end (0/1) of run (pressure units) Pdamp = pressure damping parameter (time units) :pre zero or more keyword/value pairs may be appended :l keyword = {drag} or {dilate} :l {drag} value = drag factor added to barostat (0.0 = no drag) {dilate} value = {all} or {partial} :pre :ule [Examples:] fix 1 all nph xyz 0.0 0.0 1000.0 fix 2 all nph xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 1.0 fix 2 all nph aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 :pre [Description:] Perform constant NPH integration to update positions and velocities each timestep for atoms in the group using a Nose/Hoover pressure barostat "(Hoover)"_#Hoover, implemented as described in "(Melchionna)"_#Melchionna. P is pressure. This creates a system trajectory consistent with the isobaric ensemble. Unlike "fix npt"_fix_npt.html, temperature will not be controlled if no other fix is used. Temperature can be controlled independently by using a thermostatting fis such as "fix langevin"_fix_langevin.html or "fix temp/rescale"_fix_temp_rescale.html. The atoms in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the NPT integration. Regardless of what atoms are in the fix group, a global pressure is computed for all atoms. Similarly, when the size of the simulation box is changed, all atoms are re-scaled to new positions, unless the keyword {dilate} is specified with a value of {partial}, in which case only the atoms in the fix group are re-scaled. The latter can be useful for leaving the coordinates of atoms in a solid substrate unchanged and controlling the pressure of a surrounding fluid. IMPORTANT NOTE: Unlike the "fix press/berendsen"_fix_press_berendsen.html command which performs barostatting but NO time integration, this fix performs barostatting AND time integration. Thus you should not use any other time integration fix, such as "fix nve"_fix_nve.html or "fix nvt"_fix_nvt.html on atoms to which this fix is applied. Use "fix npt"_fix_npt.html instead of this fix, if you want to control both temperature and pressure via Nose/Hoover. See "this howto section"_Section_howto.html#4_16 of the manual for a discussion of different ways to compute temperature and perform thermostatting and barostatting. :line The pressure can be controlled in one of several styles, as specified by the {p-style} argument. In each case, the desired pressure at each timestep is a ramped value during the run from the starting value to the end value. Style {xyz} means couple all dimensions together when pressure is computed (isotropic pressure), and dilate/contract the dimensions together. Styles {xy} or {yz} or {xz} means that the 2 specified dimensions are coupled together, both for pressure computation and for dilation/contraction. The 3rd dimension dilates/contracts independently, using its pressure component as the driving force. These styles cannot be used for a 2d simulation. For style {aniso}, all dimensions dilate/contract independently using their individual pressure components as the driving forces. For any of the styles except {xyz}, any of the independent pressure components (e.g. z in {xy}, or any dimension in {aniso}) can have their target pressures (both start and stop values) specified as NULL. This means that no pressure control is applied to that dimension so that the box dimension remains unchanged. For a 2d simulation the z pressure components must be specified as NULL when using style {aniso}. +For styles {xy} and {yz} and {xz}, the starting and stopping pressures +must be the same for the two coupled dimensions and cannot be +specified as NULL. + In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat is applied. The optional {drag} keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the pressure is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. For all pressure styles, the simulation box stays rectangular in shape. Parinello-Rahman boundary condition for tilted boxes (triclinic symmetry) are supported by other LAMMPS commands (see "this section"_Section_howto.html#4_12 of the manual), but not yet by this command. For all styles, the {Pdamp} parameter determines the time scale on which pressure is relaxed. For example, a value of 1000.0 means to relax the pressure in a timespan of (roughly) 1000 time units (tau or fmsec or psec - see the "units"_units.html command). :line This fix computes a temperature and pressure each timestep. To 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 :pre compute fix-ID_press group-ID pressure fix-ID_temp :pre See the "compute temp"_compute_temp.html and "compute pressure"_compute_pressure.html commands for details. Note that the 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 as the fix group. Note that these are NOT the computes used by thermodynamic output (see the "thermo_style"_thermo_style.html command) with ID = {thermo_temp} and {thermo_press}. This means you can change the attributes of this fix's temperature or pressure via the "compute_modify"_compute_modify.html command or print this temperature or pressure during thermodynamic output via the "thermo_style custom"_thermo_style.html command using the appropriate compute-ID. It also means that changing attributes of {thermo_temp} or {thermo_press} will have no effect on this fix. [Restart, fix_modify, output, run start/stop, minimize info:] This fix writes the state of the Nose/Hoover barostat to "binary restart files"_restart.html. 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. The "fix_modify"_fix_modify.html {temp} and {press} options are supported by this fix. You can use them to assign a "compute"_compute.html you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. The "fix_modify"_fix_modify.html {energy} option is supported by this fix to add the energy change induced by Nose/Hoover barostatting to the system's potential energy as part of "thermodynamic output"_thermo_style.html. The potential energy change due to this fix is stored as a scalar quantity, which can be accessed by various "output commands"_Section_howto.html#4_15. The scalar value calculated by this fix is "extensive", meaning it scales with the number of atoms in the simulation. This fix can ramp its target pressure over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the "run"_run.html command for details of how to do this. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] Any dimension being adjusted by this fix must be periodic. A dimension whose target pressures are specified as NULL can be non-periodic or periodic. [Related commands:] "fix nve"_fix_nve.html, "fix npt"_fix_npt.html, "fix_modify"_fix_modify.html [Default:] The keyword defaults are drag = 0.0 and dilate = all. :line :link(Hoover) [(Hoover)] Hoover, Phys Rev A, 34, 2499 (1986). :link(Melchionna) [(Melchionna)] Melchionna, Ciccotti, Holian, Molecular Physics, 78, 533-44 (1993). diff --git a/doc/fix_npt.html b/doc/fix_npt.html index 9df4e5341..0e23efcd6 100644 --- a/doc/fix_npt.html +++ b/doc/fix_npt.html @@ -1,270 +1,274 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix npt command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID npt Tstart Tstop Tdamp p-style args keyword value ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>npt = style name of this fix command <LI>Tstart,Tstop = desired temperature at start/end of run <LI>Tdamp = temperature damping parameter (time units) <LI>p-style = <I>xyz</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I> <PRE> <I>xyz</I> args = Pstart Pstop Pdamp Pstart,Pstop = desired pressure at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I> args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) </PRE> <LI>zero or more keyword/value pairs may be appended <LI>keyword = <I>drag</I> or <I>dilate</I> <PRE> <I>drag</I> value = drag factor added to barostat/thermostat (0.0 = no drag) <I>dilate</I> value = <I>all</I> or <I>partial</I> </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all npt 300.0 300.0 100.0 xyz 0.0 0.0 1000.0 fix 2 all npt 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 fix 2 all npt 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2 fix 2 water npt 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial </PRE> <P><B>Description:</B> </P> <P>Perform constant NPT integration to update positions and velocities each timestep for atoms in the group using a Nose/Hoover temperature thermostat <A HREF = "#Hoover1">(Hoover1)</A> and Nose/Hoover pressure barostat <A HREF = "#Hoover2">(Hoover2)</A>, implemented as described in <A HREF = "#Melchionna">(Melchionna)</A>. P is pressure; T is temperature. This creates a system trajectory consistent with the isothermal-isobaric ensemble. </P> <P>The thermostat is applied to only the translational degrees of freedom for the particles. The translational degrees of freedom can also have a bias velocity removed from them before thermostatting takes place; see the description below. </P> <P>The desired temperature at each timestep is a ramped value during the run from <I>Tstart</I> to <I>Tstop</I>. The <I>Tdamp</I> parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the <A HREF = "units.html">units</A> command). </P> <P>The atoms in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the NPT integration. </P> <P>Regardless of what atoms are in the fix group, a global pressure is computed for all atoms. Similarly, when the size of the simulation box is changed, all atoms are re-scaled to new positions, unless the keyword <I>dilate</I> is specified with a value of <I>partial</I>, in which case only the atoms in the fix group are re-scaled. The latter can be useful for leaving the coordinates of atoms in a solid substrate unchanged and controlling the pressure of a surrounding fluid. </P> <P>IMPORTANT NOTE: Unlike the <A HREF = "fix_temp_berendsen.html">fix temp/berendsen</A> command which performs thermostatting but NO time integration, this fix performs thermostatting/barostatting AND time integration. Thus you should not use any other time integration fix, such as <A HREF = "fix_nve.html">fix nve</A> on atoms to which this fix is applied. Likewise, this fix should not normally be used on atoms that also have their temperature controlled by another fix - e.g. by <A HREF = "fix_nvt.html">fix langevin</A> or <A HREF = "fix_temp_rescale.html">fix temp/rescale</A> commands. </P> <P>See <A HREF = "Section_howto.html#4_16">this howto section</A> of the manual for a discussion of different ways to compute temperature and perform thermostatting and barostatting. </P> <HR> <P>The pressure can be controlled in one of several styles, as specified by the <I>p-style</I> argument. In each case, the desired pressure at each timestep is a ramped value during the run from the starting value to the end value. </P> <P>Style <I>xyz</I> means couple all dimensions together when pressure is computed (isotropic pressure), and dilate/contract the dimensions together. </P> <P>Styles <I>xy</I> or <I>yz</I> or <I>xz</I> means that the 2 specified dimensions are coupled together, both for pressure computation and for dilation/contraction. The 3rd dimension dilates/contracts independently, using its pressure component as the driving force. These styles cannot be used for a 2d simulation. </P> <P>For style <I>aniso</I>, all dimensions dilate/contract independently using their individual pressure components as the driving forces. </P> <P>For any of the styles except <I>xyz</I>, any of the independent pressure components (e.g. z in <I>xy</I>, or any dimension in <I>aniso</I>) can have their target pressures (both start and stop values) specified as NULL. This means that no pressure control is applied to that dimension so that the box dimension remains unchanged. For a 2d simulation the z pressure components must be specified as NULL when using style <I>aniso</I>. </P> +<P>For styles <I>xy</I> and <I>yz</I> and <I>xz</I>, the starting and stopping pressures +must be the same for the two coupled dimensions and cannot be +specified as NULL. +</P> <P>In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat and thermostat is applied. The optional <I>drag</I> keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the pressure and temperature is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. </P> <P>For all pressure styles, the simulation box stays rectangular in shape. Parinello-Rahman boundary condition for tilted boxes (triclinic symmetry) are supported by other LAMMPS commands (see <A HREF = "Section_howto.html#4_12">this section</A> of the manual), but not yet by this command. </P> <P>For all styles, the <I>Pdamp</I> parameter operates like the <I>Tdamp</I> parameter, determining the time scale on which pressure is relaxed. For example, a value of 1000.0 means to relax the pressure in a timespan of (roughly) 1000 time units (tau or fmsec or psec - see the <A HREF = "units.html">units</A> command). </P> <HR> <P>This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp" and "pressure", as if these commands had been issued: </P> <PRE>compute fix-ID_temp group-ID temp compute fix-ID_press group-ID pressure fix-ID_temp </PRE> <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 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 as the fix group. </P> <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> and <I>thermo_press</I>. This means you can change the attributes of this fix's temperature or pressure via the <A HREF = "compute_modify.html">compute_modify</A> command or print this temperature or pressure during thermodynamic output via the <A HREF = "thermo_style.html">thermo_style custom</A> command using the appropriate compute-ID. It also means that changing attributes of <I>thermo_temp</I> or <I>thermo_press</I> will have no effect on this fix. </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. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. </P> <P><B>Restart, fix_modify, output, run start/stop, minimize info:</B> </P> <P>This fix writes the state of the Nose/Hoover thermostat and barostat to <A HREF = "restart.html">binary restart files</A>. See the <A HREF = "read_restart.html">read_restart</A> 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. </P> <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 <A HREF = "compute.html">compute</A> you have defined to this fix which will be used in its thermostatting or barostatting procedure, as described above. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. </P> <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 order in which the keywords are specified is important. Note that a <A HREF = "compute_pressure.html">pressure compute</A> defines its own temperature compute as an argument when it is specified. The <I>temp</I> keyword will override this (for the pressure compute being used by fix npt), but only if the <I>temp</I> keyword comes after the <I>press</I> keyword. If the <I>temp</I> keyword comes before the <I>press</I> keyword, then the new pressure compute specified by the <I>press</I> keyword will be unaffected by the <I>temp</I> setting. </P> <P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting and barostatting to the system's potential energy as part of <A HREF = "thermo_style.html">thermodynamic output</A>. </P> <P>The potential energy change due to this fix is stored as a scalar quantity, which can be accessed by various <A HREF = "Section_howto.html#4_15">output commands</A>. The scalar value calculated by this fix is "extensive", meaning it scales with the number of atoms in the simulation. </P> <P>This fix can ramp its target temperature and pressure over multiple runs, using the <I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the <A HREF = "run.html">run</A> command for details of how to do this. </P> <P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>. </P> <P><B>Restrictions:</B> </P> <P>Any dimension being adjusted by this fix must be periodic. A dimension whose target pressures are specified as NULL can be non-periodic or periodic. </P> <P>The final Tstop cannot be 0.0 since it would make the target T = 0.0 at some timestep during the simulation which is not allowed in the Nose/Hoover formulation. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_nvt.html">fix nvt</A>, <A HREF = "fix_nph.html">fix nph</A>, <A HREF = "fix_modify.html">fix_modify</A> </P> <P><B>Default:</B> </P> <P>The keyword defaults are drag = 0.0 and dilate = all. </P> <HR> <A NAME = "Hoover1"></A> <P><B>(Hoover1)</B> Hoover, Phys Rev A, 31, 1695 (1985). </P> <A NAME = "Hoover2"></A> <P><B>(Hoover2)</B> Hoover, Phys Rev A, 34, 2499 (1986). </P> <A NAME = "Melchionna"></A> <P><B>(Melchionna)</B> Melchionna, Ciccotti, Holian, Molecular Physics, 78, 533-44 (1993). </P> </HTML> diff --git a/doc/fix_npt.txt b/doc/fix_npt.txt index ae36e8a7f..7b17cc66c 100644 --- a/doc/fix_npt.txt +++ b/doc/fix_npt.txt @@ -1,254 +1,258 @@ "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 npt command :h3 [Syntax:] fix ID group-ID npt Tstart Tstop Tdamp p-style args keyword value ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l npt = style name of this fix command :l Tstart,Tstop = desired temperature at start/end of run :l Tdamp = temperature damping parameter (time units) :l p-style = {xyz} or {xy} or {yz} or {xz} or {aniso} :l {xyz} args = Pstart Pstop Pdamp Pstart,Pstop = desired pressure at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) {xy} or {yz} or {xz} or {aniso} args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) :pre zero or more keyword/value pairs may be appended :l keyword = {drag} or {dilate} :l {drag} value = drag factor added to barostat/thermostat (0.0 = no drag) {dilate} value = {all} or {partial} :pre :ule [Examples:] fix 1 all npt 300.0 300.0 100.0 xyz 0.0 0.0 1000.0 fix 2 all npt 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 fix 2 all npt 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2 fix 2 water npt 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial :pre [Description:] Perform constant NPT integration to update positions and velocities each timestep for atoms in the group using a Nose/Hoover temperature thermostat "(Hoover1)"_#Hoover1 and Nose/Hoover pressure barostat "(Hoover2)"_#Hoover2, implemented as described in "(Melchionna)"_#Melchionna. P is pressure; T is temperature. This creates a system trajectory consistent with the isothermal-isobaric ensemble. The thermostat is applied to only the translational degrees of freedom for the particles. The translational degrees of freedom can also have a bias velocity removed from them before thermostatting takes place; see the description below. The desired temperature at each timestep is a ramped value during the run from {Tstart} to {Tstop}. The {Tdamp} parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the "units"_units.html command). The atoms in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the NPT integration. Regardless of what atoms are in the fix group, a global pressure is computed for all atoms. Similarly, when the size of the simulation box is changed, all atoms are re-scaled to new positions, unless the keyword {dilate} is specified with a value of {partial}, in which case only the atoms in the fix group are re-scaled. The latter can be useful for leaving the coordinates of atoms in a solid substrate unchanged and controlling the pressure of a surrounding fluid. IMPORTANT NOTE: Unlike the "fix temp/berendsen"_fix_temp_berendsen.html command which performs thermostatting but NO time integration, this fix performs thermostatting/barostatting AND time integration. Thus you should not use any other time integration fix, such as "fix nve"_fix_nve.html on atoms to which this fix is applied. Likewise, this fix should not normally be used on atoms that also have their temperature controlled by another fix - e.g. by "fix langevin"_fix_nvt.html or "fix temp/rescale"_fix_temp_rescale.html commands. See "this howto section"_Section_howto.html#4_16 of the manual for a discussion of different ways to compute temperature and perform thermostatting and barostatting. :line The pressure can be controlled in one of several styles, as specified by the {p-style} argument. In each case, the desired pressure at each timestep is a ramped value during the run from the starting value to the end value. Style {xyz} means couple all dimensions together when pressure is computed (isotropic pressure), and dilate/contract the dimensions together. Styles {xy} or {yz} or {xz} means that the 2 specified dimensions are coupled together, both for pressure computation and for dilation/contraction. The 3rd dimension dilates/contracts independently, using its pressure component as the driving force. These styles cannot be used for a 2d simulation. For style {aniso}, all dimensions dilate/contract independently using their individual pressure components as the driving forces. For any of the styles except {xyz}, any of the independent pressure components (e.g. z in {xy}, or any dimension in {aniso}) can have their target pressures (both start and stop values) specified as NULL. This means that no pressure control is applied to that dimension so that the box dimension remains unchanged. For a 2d simulation the z pressure components must be specified as NULL when using style {aniso}. +For styles {xy} and {yz} and {xz}, the starting and stopping pressures +must be the same for the two coupled dimensions and cannot be +specified as NULL. + In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat and thermostat is applied. The optional {drag} keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the pressure and temperature is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. For all pressure styles, the simulation box stays rectangular in shape. Parinello-Rahman boundary condition for tilted boxes (triclinic symmetry) are supported by other LAMMPS commands (see "this section"_Section_howto.html#4_12 of the manual), but not yet by this command. For all styles, the {Pdamp} parameter operates like the {Tdamp} parameter, determining the time scale on which pressure is relaxed. For example, a value of 1000.0 means to relax the pressure in a timespan of (roughly) 1000 time units (tau or fmsec or psec - see the "units"_units.html command). :line This fix computes a temperature and pressure each timestep. To 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_press group-ID pressure fix-ID_temp :pre See the "compute temp"_compute_temp.html and "compute pressure"_compute_pressure.html commands for details. Note that the 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 as the fix group. Note that these are NOT the computes used by thermodynamic output (see the "thermo_style"_thermo_style.html command) with ID = {thermo_temp} and {thermo_press}. This means you can change the attributes of this fix's temperature or pressure via the "compute_modify"_compute_modify.html command or print this temperature or pressure during thermodynamic output via the "thermo_style custom"_thermo_style.html command using the appropriate compute-ID. It also means that changing attributes of {thermo_temp} or {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. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. [Restart, fix_modify, output, run start/stop, minimize info:] This fix writes the state of the Nose/Hoover thermostat and barostat to "binary restart files"_restart.html. 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. The "fix_modify"_fix_modify.html {temp} and {press} options are supported by this fix. You can use them to assign a "compute"_compute.html you have defined to this fix which will be used in its thermostatting or barostatting procedure, as described above. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. IMPORTANT NOTE: If both the {temp} and {press} keywords are used in a single thermo_modify command (or in two separate commands), then the order in which the keywords are specified is important. Note that a "pressure compute"_compute_pressure.html defines its own temperature compute as an argument when it is specified. The {temp} keyword will override this (for the pressure compute being used by fix npt), but only if the {temp} keyword comes after the {press} keyword. If the {temp} keyword comes before the {press} keyword, then the new pressure compute specified by the {press} keyword will be unaffected by the {temp} setting. The "fix_modify"_fix_modify.html {energy} option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting and barostatting to the system's potential energy as part of "thermodynamic output"_thermo_style.html. The potential energy change due to this fix is stored as a scalar quantity, which can be accessed by various "output commands"_Section_howto.html#4_15. The scalar value calculated by this fix is "extensive", meaning it scales with the number of atoms in the simulation. This fix can ramp its target temperature and pressure over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the "run"_run.html command for details of how to do this. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] Any dimension being adjusted by this fix must be periodic. A dimension whose target pressures are specified as NULL can be non-periodic or periodic. The final Tstop cannot be 0.0 since it would make the target T = 0.0 at some timestep during the simulation which is not allowed in the Nose/Hoover formulation. [Related commands:] "fix nve"_fix_nve.html, "fix nvt"_fix_nvt.html, "fix nph"_fix_nph.html, "fix_modify"_fix_modify.html [Default:] The keyword defaults are drag = 0.0 and dilate = all. :line :link(Hoover1) [(Hoover1)] Hoover, Phys Rev A, 31, 1695 (1985). :link(Hoover2) [(Hoover2)] Hoover, Phys Rev A, 34, 2499 (1986). :link(Melchionna) [(Melchionna)] Melchionna, Ciccotti, Holian, Molecular Physics, 78, 533-44 (1993). diff --git a/doc/fix_npt_asphere.html b/doc/fix_npt_asphere.html index d4700aa84..bf1abbacd 100644 --- a/doc/fix_npt_asphere.html +++ b/doc/fix_npt_asphere.html @@ -1,236 +1,240 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix npt/asphere command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID npt/asphere Tstart Tstop Tdamp p-style args keyword value ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>npt/asphere = style name of this fix command <LI>Tstart,Tstop = desired temperature at start/end of run <LI>Tdamp = temperature damping parameter (time units) <LI>p-style = <I>xyz</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I> <PRE> <I>xyz</I> args = Pstart Pstop Pdamp Pstart,Pstop = desired pressure at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I> args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) </PRE> <LI>zero or more keyword/value pairs may be appended <LI>keyword = <I>drag</I> or <I>dilate</I> <PRE> <I>drag</I> value = drag factor added to barostat/thermostat (0.0 = no drag) <I>dilate</I> value = <I>all</I> or <I>partial</I> </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all npt/asphere 300.0 300.0 100.0 xyz 0.0 0.0 1000.0 fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2 fix 2 water npt/asphere 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial </PRE> <P><B>Description:</B> </P> <P>Perform constant NPT integration to update position, velocity, orientation, and angular velocity each timestep for aspherical or ellipsoidal particles in the group using a Nose/Hoover temperature thermostat and Nose/Hoover pressure barostat. P is pressure; T is temperature. This creates a system trajectory consistent with the isothermal-isobaric ensemble. </P> <P>The thermostat is applied to both the translational and rotational degrees of freedom for the aspherical particles, assuming a compute is used which calculates a temperature that includes the rotational degrees of freedom (see below). The translational degrees of freedom can also have a bias velocity removed from them before thermostatting takes place; see the description below. </P> <P>The desired temperature at each timestep is a ramped value during the run from <I>Tstart</I> to <I>Tstop</I>. The <I>Tdamp</I> parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the <A HREF = "units.html">units</A> command). </P> <P>The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the NPT integration. </P> <P>Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the keyword <I>dilate</I> is specified with a value of <I>partial</I>, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. </P> <HR> <P>The pressure can be controlled in one of several styles, as specified by the <I>p-style</I> argument. In each case, the desired pressure at each timestep is a ramped value during the run from the starting value to the end value. </P> <P>Style <I>xyz</I> means couple all dimensions together when pressure is computed (isotropic pressure), and dilate/contract the dimensions together. </P> <P>Styles <I>xy</I> or <I>yz</I> or <I>xz</I> means that the 2 specified dimensions are coupled together, both for pressure computation and for dilation/contraction. The 3rd dimension dilates/contracts independently, using its pressure component as the driving force. These styles cannot be used for a 2d simulation. </P> <P>For style <I>aniso</I>, all dimensions dilate/contract independently using their individual pressure components as the driving forces. </P> <P>For any of the styles except <I>xyz</I>, any of the independent pressure components (e.g. z in <I>xy</I>, or any dimension in <I>aniso</I>) can have their target pressures (both start and stop values) specified as NULL. This means that no pressure control is applied to that dimension so that the box dimension remains unchanged. For a 2d simulation the z pressure components must be specified as NULL when using style <I>aniso</I>. </P> +<P>For styles <I>xy</I> and <I>yz</I> and <I>xz</I>, the starting and stopping pressures +must be the same for the two coupled dimensions and cannot be +specified as NULL. +</P> <P>In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat and thermostat is applied. The optional <I>drag</I> keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the pressure and temperature is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. </P> <P>For all pressure styles, the simulation box stays rectangular in shape. Parinello-Rahman boundary conditions (tilted box) are not yet implemented in LAMMPS. </P> <P>For all styles, the <I>Pdamp</I> parameter operates like the <I>Tdamp</I> parameter, determining the time scale on which pressure is relaxed. For example, a value of 1000.0 means to relax the pressure in a timespan of (roughly) 1000 time units (tau or fmsec or psec - see the <A HREF = "units.html">units</A> command). </P> <HR> <P>This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp/asphere" and "pressure", as if these commands had been issued: </P> <PRE>compute fix-ID_temp group-ID temp/asphere compute fix-ID_press group-ID pressure fix-ID_temp </PRE> <P>See the <A HREF = "compute_temp_asphere.html">compute temp/asphere</A> and <A HREF = "compute_pressure.html">compute pressure</A> commands for details. Note that the 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 as the fix group. </P> <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> and <I>thermo_press</I>. This means you can change the attributes of this fix's temperature or pressure via the <A HREF = "compute_modify.html">compute_modify</A> command or print this temperature or pressure during thermodynamic output via the <A HREF = "thermo_style.html">thermo_style custom</A> command using the appropriate compute-ID. It also means that changing attributes of <I>thermo_temp</I> or <I>thermo_press</I> will have no effect on this fix. </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. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. </P> <P><B>Restart, fix_modify, output, run start/stop, minimize info:</B> </P> <P>This fix writes the state of the Nose/Hoover thermostat and barostat to <A HREF = "restart.html">binary restart files</A>. See the <A HREF = "read_restart.html">read_restart</A> 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. </P> <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 <A HREF = "compute.html">compute</A> you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. </P> <P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting and barostatting to the system's potential energy as part of <A HREF = "thermo_style.html">thermodynamic output</A>. </P> <P>The potential energy change due to this fix is stored as a scalar quantity, which can be accessed by various <A HREF = "Section_howto.html#4_15">output commands</A>. </P> <P>This fix can ramp its target temperature and pressure over multiple runs, using the <I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the <A HREF = "run.html">run</A> command for details of how to do this. </P> <P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>. </P> <P><B>Restrictions:</B> </P> <P>This fix is part of the "asphere" package. It is only enabled if LAMMPS was built with that package. See the <A HREF = "Section_start.html#2_3">Making LAMMPS</A> section for more info. </P> <P>This fix requires that particles be represented as extended ellipsoids and not point particles. This means they will have an angular momentum and a shape which is determined by the <A HREF = "shape.html">shape</A> command. </P> <P>Any dimension being adjusted by this fix must be periodic. A dimension whose target pressures are specified as NULL can be non-periodic or periodic. </P> <P>The final Tstop cannot be 0.0 since it would make the target T = 0.0 at some timestep during the simulation which is not allowed in the Nose/Hoover formulation. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_npt.html">fix npt</A>, <A HREF = "fix_nve_asphere.html">fix nve_asphere</A>, <A HREF = "fix_npt_asphere.html">fix npt_asphere</A>, <A HREF = "fix_modify.html">fix_modify</A> </P> <P><B>Default:</B> </P> <P>The keyword defaults are drag = 0.0 and dilate = all. </P> </HTML> diff --git a/doc/fix_npt_asphere.txt b/doc/fix_npt_asphere.txt index 0e4feaa93..7814388fb 100755 --- a/doc/fix_npt_asphere.txt +++ b/doc/fix_npt_asphere.txt @@ -1,223 +1,227 @@ "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 npt/asphere command :h3 [Syntax:] fix ID group-ID npt/asphere Tstart Tstop Tdamp p-style args keyword value ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l npt/asphere = style name of this fix command :l Tstart,Tstop = desired temperature at start/end of run :l Tdamp = temperature damping parameter (time units) :l p-style = {xyz} or {xy} or {yz} or {xz} or {aniso} :l {xyz} args = Pstart Pstop Pdamp Pstart,Pstop = desired pressure at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) {xy} or {yz} or {xz} or {aniso} args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) :pre zero or more keyword/value pairs may be appended :l keyword = {drag} or {dilate} :l {drag} value = drag factor added to barostat/thermostat (0.0 = no drag) {dilate} value = {all} or {partial} :pre :ule [Examples:] fix 1 all npt/asphere 300.0 300.0 100.0 xyz 0.0 0.0 1000.0 fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2 fix 2 water npt/asphere 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial :pre [Description:] Perform constant NPT integration to update position, velocity, orientation, and angular velocity each timestep for aspherical or ellipsoidal particles in the group using a Nose/Hoover temperature thermostat and Nose/Hoover pressure barostat. P is pressure; T is temperature. This creates a system trajectory consistent with the isothermal-isobaric ensemble. The thermostat is applied to both the translational and rotational degrees of freedom for the aspherical particles, assuming a compute is used which calculates a temperature that includes the rotational degrees of freedom (see below). The translational degrees of freedom can also have a bias velocity removed from them before thermostatting takes place; see the description below. The desired temperature at each timestep is a ramped value during the run from {Tstart} to {Tstop}. The {Tdamp} parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the "units"_units.html command). The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the NPT integration. Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the keyword {dilate} is specified with a value of {partial}, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. :line The pressure can be controlled in one of several styles, as specified by the {p-style} argument. In each case, the desired pressure at each timestep is a ramped value during the run from the starting value to the end value. Style {xyz} means couple all dimensions together when pressure is computed (isotropic pressure), and dilate/contract the dimensions together. Styles {xy} or {yz} or {xz} means that the 2 specified dimensions are coupled together, both for pressure computation and for dilation/contraction. The 3rd dimension dilates/contracts independently, using its pressure component as the driving force. These styles cannot be used for a 2d simulation. For style {aniso}, all dimensions dilate/contract independently using their individual pressure components as the driving forces. For any of the styles except {xyz}, any of the independent pressure components (e.g. z in {xy}, or any dimension in {aniso}) can have their target pressures (both start and stop values) specified as NULL. This means that no pressure control is applied to that dimension so that the box dimension remains unchanged. For a 2d simulation the z pressure components must be specified as NULL when using style {aniso}. +For styles {xy} and {yz} and {xz}, the starting and stopping pressures +must be the same for the two coupled dimensions and cannot be +specified as NULL. + In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat and thermostat is applied. The optional {drag} keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the pressure and temperature is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. For all pressure styles, the simulation box stays rectangular in shape. Parinello-Rahman boundary conditions (tilted box) are not yet implemented in LAMMPS. For all styles, the {Pdamp} parameter operates like the {Tdamp} parameter, determining the time scale on which pressure is relaxed. For example, a value of 1000.0 means to relax the pressure in a timespan of (roughly) 1000 time units (tau or fmsec or psec - see the "units"_units.html command). :line This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp/asphere" and "pressure", as if these commands had been issued: compute fix-ID_temp group-ID temp/asphere compute fix-ID_press group-ID pressure fix-ID_temp :pre See the "compute temp/asphere"_compute_temp_asphere.html and "compute pressure"_compute_pressure.html commands for details. Note that the 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 as the fix group. Note that these are NOT the computes used by thermodynamic output (see the "thermo_style"_thermo_style.html command) with ID = {thermo_temp} and {thermo_press}. This means you can change the attributes of this fix's temperature or pressure via the "compute_modify"_compute_modify.html command or print this temperature or pressure during thermodynamic output via the "thermo_style custom"_thermo_style.html command using the appropriate compute-ID. It also means that changing attributes of {thermo_temp} or {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. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. [Restart, fix_modify, output, run start/stop, minimize info:] This fix writes the state of the Nose/Hoover thermostat and barostat to "binary restart files"_restart.html. 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. The "fix_modify"_fix_modify.html {temp} and {press} options are supported by this fix. You can use them to assign a "compute"_compute.html you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. The "fix_modify"_fix_modify.html {energy} option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting and barostatting to the system's potential energy as part of "thermodynamic output"_thermo_style.html. The potential energy change due to this fix is stored as a scalar quantity, which can be accessed by various "output commands"_Section_howto.html#4_15. This fix can ramp its target temperature and pressure over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the "run"_run.html command for details of how to do this. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] This fix is part of the "asphere" package. It is only enabled if LAMMPS was built with that package. See the "Making LAMMPS"_Section_start.html#2_3 section for more info. This fix requires that particles be represented as extended ellipsoids and not point particles. This means they will have an angular momentum and a shape which is determined by the "shape"_shape.html command. Any dimension being adjusted by this fix must be periodic. A dimension whose target pressures are specified as NULL can be non-periodic or periodic. The final Tstop cannot be 0.0 since it would make the target T = 0.0 at some timestep during the simulation which is not allowed in the Nose/Hoover formulation. [Related commands:] "fix npt"_fix_npt.html, "fix nve_asphere"_fix_nve_asphere.html, "fix npt_asphere"_fix_npt_asphere.html, "fix_modify"_fix_modify.html [Default:] The keyword defaults are drag = 0.0 and dilate = all. diff --git a/doc/fix_npt_sphere.html b/doc/fix_npt_sphere.html index 18867d5df..fda875dd9 100644 --- a/doc/fix_npt_sphere.html +++ b/doc/fix_npt_sphere.html @@ -1,235 +1,239 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix npt/sphere command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID npt/sphere Tstart Tstop Tdamp p-style args keyword value ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>npt/sphere = style name of this fix command <LI>Tstart,Tstop = desired temperature at start/end of run <LI>Tdamp = temperature damping parameter (time units) <LI>p-style = <I>xyz</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I> <PRE> <I>xyz</I> args = Pstart Pstop Pdamp Pstart,Pstop = desired pressure at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I> args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) </PRE> <LI>zero or more keyword/value pairs may be appended <LI>keyword = <I>drag</I> or <I>dilate</I> <PRE> <I>drag</I> value = drag factor added to barostat/thermostat (0.0 = no drag) <I>dilate</I> value = <I>all</I> or <I>partial</I> </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all npt/sphere 300.0 300.0 100.0 xyz 0.0 0.0 1000.0 fix 2 all npt/sphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 fix 2 all npt/sphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2 fix 2 water npt/sphere 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial </PRE> <P><B>Description:</B> </P> <P>Perform constant NPT integration to update position, velocity, and angular velocity each timestep for extended spherical particles in the group using a Nose/Hoover temperature thermostat and Nose/Hoover pressure barostat. P is pressure; T is temperature. This creates a system trajectory consistent with the isothermal-isobaric ensemble. </P> <P>This fix differs from the <A HREF = "fix_npt.html">fix npt</A> command, which assumes point particles and only updates their position and velocity. </P> <P>The thermostat is applied to both the translational and rotational degrees of freedom for the spherical particles, assuming a compute is used which calculates a temperature that includes the rotational degrees of freedom (see below). The translational degrees of freedom can also have a bias velocity removed from them before thermostatting takes place; see the description below. </P> <P>The desired temperature at each timestep is a ramped value during the run from <I>Tstart</I> to <I>Tstop</I>. The <I>Tdamp</I> parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the <A HREF = "units.html">units</A> command). </P> <P>The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the NPT integration. </P> <P>Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the keyword <I>dilate</I> is specified with a value of <I>partial</I>, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. </P> <HR> <P>The pressure can be controlled in one of several styles, as specified by the <I>p-style</I> argument. In each case, the desired pressure at each timestep is a ramped value during the run from the starting value to the end value. </P> <P>Style <I>xyz</I> means couple all dimensions together when pressure is computed (isotropic pressure), and dilate/contract the dimensions together. </P> <P>Styles <I>xy</I> or <I>yz</I> or <I>xz</I> means that the 2 specified dimensions are coupled together, both for pressure computation and for dilation/contraction. The 3rd dimension dilates/contracts independently, using its pressure component as the driving force. These styles cannot be used for a 2d simulation. </P> <P>For style <I>aniso</I>, all dimensions dilate/contract independently using their individual pressure components as the driving forces. </P> <P>For any of the styles except <I>xyz</I>, any of the independent pressure components (e.g. z in <I>xy</I>, or any dimension in <I>aniso</I>) can have their target pressures (both start and stop values) specified as NULL. This means that no pressure control is applied to that dimension so that the box dimension remains unchanged. For a 2d simulation the z pressure components must be specified as NULL when using style <I>aniso</I>. </P> +<P>For styles <I>xy</I> and <I>yz</I> and <I>xz</I>, the starting and stopping pressures +must be the same for the two coupled dimensions and cannot be +specified as NULL. +</P> <P>In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat and thermostat is applied. The optional <I>drag</I> keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the pressure and temperature is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. </P> <P>For all pressure styles, the simulation box stays rectangular in shape. Parinello-Rahman boundary conditions (tilted box) are not yet implemented in LAMMPS. </P> <P>For all styles, the <I>Pdamp</I> parameter operates like the <I>Tdamp</I> parameter, determining the time scale on which pressure is relaxed. For example, a value of 1000.0 means to relax the pressure in a timespan of (roughly) 1000 time units (tau or fmsec or psec - see the <A HREF = "units.html">units</A> command). </P> <HR> <P>This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp/asphere" and "pressure", as if these commands had been issued: </P> <PRE>compute fix-ID_temp group-ID temp/sphere compute fix-ID_press group-ID pressure fix-ID_temp </PRE> <P>See the <A HREF = "compute_temp_sphere.html">compute temp/sphere</A> and <A HREF = "compute_pressure.html">compute pressure</A> commands for details. Note that the 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 as the fix group. </P> <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> and <I>thermo_press</I>. This means you can change the attributes of this fix's temperature or pressure via the <A HREF = "compute_modify.html">compute_modify</A> command or print this temperature or pressure during thermodynamic output via the <A HREF = "thermo_style.html">thermo_style custom</A> command using the appropriate compute-ID. It also means that changing attributes of <I>thermo_temp</I> or <I>thermo_press</I> will have no effect on this fix. </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. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. </P> <P><B>Restart, fix_modify, output, run start/stop, minimize info:</B> </P> <P>This fix writes the state of the Nose/Hoover thermostat and barostat to <A HREF = "restart.html">binary restart files</A>. See the <A HREF = "read_restart.html">read_restart</A> 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. </P> <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 <A HREF = "compute.html">compute</A> you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. </P> <P>The <A HREF = "fix_modify.html">fix_modify</A> <I>energy</I> option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting and barostatting to the system's potential energy as part of <A HREF = "thermo_style.html">thermodynamic output</A>. </P> <P>The potential energy change due to this fix is stored as a scalar quantity, which can be accessed by various <A HREF = "Section_howto.html#4_15">output commands</A>. </P> <P>This fix can ramp its target temperature and pressure over multiple runs, using the <I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the <A HREF = "run.html">run</A> command for details of how to do this. </P> <P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>. </P> <P><B>Restrictions:</B> </P> <P>This fix requires that particles be represented as extended spheres and not point particles. This means they will have an angular velocity and a diameter which is determined by the <A HREF = "shape.html">shape</A> command. </P> <P>Any dimension being adjusted by this fix must be periodic. A dimension whose target pressures are specified as NULL can be non-periodic or periodic. </P> <P>The final Tstop cannot be 0.0 since it would make the target T = 0.0 at some timestep during the simulation which is not allowed in the Nose/Hoover formulation. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_npt.html">fix npt</A>, <A HREF = "fix_nve_sphere.html">fix nve_sphere</A>, <A HREF = "fix_nvt_sphere.html">fix nvt_sphere</A>, <A HREF = "fix_npt_asphere.html">fix npt_asphere</A>, <A HREF = "fix_modify.html">fix_modify</A> </P> <P><B>Default:</B> </P> <P>The keyword defaults are drag = 0.0 and dilate = all. </P> </HTML> diff --git a/doc/fix_npt_sphere.txt b/doc/fix_npt_sphere.txt index b65b9259a..1837e8a57 100755 --- a/doc/fix_npt_sphere.txt +++ b/doc/fix_npt_sphere.txt @@ -1,222 +1,226 @@ "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 npt/sphere command :h3 [Syntax:] fix ID group-ID npt/sphere Tstart Tstop Tdamp p-style args keyword value ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l npt/sphere = style name of this fix command :l Tstart,Tstop = desired temperature at start/end of run :l Tdamp = temperature damping parameter (time units) :l p-style = {xyz} or {xy} or {yz} or {xz} or {aniso} :l {xyz} args = Pstart Pstop Pdamp Pstart,Pstop = desired pressure at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) {xy} or {yz} or {xz} or {aniso} args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) :pre zero or more keyword/value pairs may be appended :l keyword = {drag} or {dilate} :l {drag} value = drag factor added to barostat/thermostat (0.0 = no drag) {dilate} value = {all} or {partial} :pre :ule [Examples:] fix 1 all npt/sphere 300.0 300.0 100.0 xyz 0.0 0.0 1000.0 fix 2 all npt/sphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 fix 2 all npt/sphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2 fix 2 water npt/sphere 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial :pre [Description:] Perform constant NPT integration to update position, velocity, and angular velocity each timestep for extended spherical particles in the group using a Nose/Hoover temperature thermostat and Nose/Hoover pressure barostat. P is pressure; T is temperature. This creates a system trajectory consistent with the isothermal-isobaric ensemble. This fix differs from the "fix npt"_fix_npt.html command, which assumes point particles and only updates their position and velocity. The thermostat is applied to both the translational and rotational degrees of freedom for the spherical particles, assuming a compute is used which calculates a temperature that includes the rotational degrees of freedom (see below). The translational degrees of freedom can also have a bias velocity removed from them before thermostatting takes place; see the description below. The desired temperature at each timestep is a ramped value during the run from {Tstart} to {Tstop}. The {Tdamp} parameter is specified in time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the "units"_units.html command). The particles in the fix group are the only ones whose velocities and positions are updated by the velocity/position update portion of the NPT integration. Regardless of what particles are in the fix group, a global pressure is computed for all particles. Similarly, when the size of the simulation box is changed, all particles are re-scaled to new positions, unless the keyword {dilate} is specified with a value of {partial}, in which case only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. :line The pressure can be controlled in one of several styles, as specified by the {p-style} argument. In each case, the desired pressure at each timestep is a ramped value during the run from the starting value to the end value. Style {xyz} means couple all dimensions together when pressure is computed (isotropic pressure), and dilate/contract the dimensions together. Styles {xy} or {yz} or {xz} means that the 2 specified dimensions are coupled together, both for pressure computation and for dilation/contraction. The 3rd dimension dilates/contracts independently, using its pressure component as the driving force. These styles cannot be used for a 2d simulation. For style {aniso}, all dimensions dilate/contract independently using their individual pressure components as the driving forces. For any of the styles except {xyz}, any of the independent pressure components (e.g. z in {xy}, or any dimension in {aniso}) can have their target pressures (both start and stop values) specified as NULL. This means that no pressure control is applied to that dimension so that the box dimension remains unchanged. For a 2d simulation the z pressure components must be specified as NULL when using style {aniso}. +For styles {xy} and {yz} and {xz}, the starting and stopping pressures +must be the same for the two coupled dimensions and cannot be +specified as NULL. + In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat and thermostat is applied. The optional {drag} keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the pressure and temperature is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. For all pressure styles, the simulation box stays rectangular in shape. Parinello-Rahman boundary conditions (tilted box) are not yet implemented in LAMMPS. For all styles, the {Pdamp} parameter operates like the {Tdamp} parameter, determining the time scale on which pressure is relaxed. For example, a value of 1000.0 means to relax the pressure in a timespan of (roughly) 1000 time units (tau or fmsec or psec - see the "units"_units.html command). :line This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp/asphere" and "pressure", as if these commands had been issued: compute fix-ID_temp group-ID temp/sphere compute fix-ID_press group-ID pressure fix-ID_temp :pre See the "compute temp/sphere"_compute_temp_sphere.html and "compute pressure"_compute_pressure.html commands for details. Note that the 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 as the fix group. Note that these are NOT the computes used by thermodynamic output (see the "thermo_style"_thermo_style.html command) with ID = {thermo_temp} and {thermo_press}. This means you can change the attributes of this fix's temperature or pressure via the "compute_modify"_compute_modify.html command or print this temperature or pressure during thermodynamic output via the "thermo_style custom"_thermo_style.html command using the appropriate compute-ID. It also means that changing attributes of {thermo_temp} or {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. In this case, the thermostat works in the following manner: the current temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. [Restart, fix_modify, output, run start/stop, minimize info:] This fix writes the state of the Nose/Hoover thermostat and barostat to "binary restart files"_restart.html. 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. The "fix_modify"_fix_modify.html {temp} and {press} options are supported by this fix. You can use them to assign a "compute"_compute.html you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. The "fix_modify"_fix_modify.html {energy} option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting and barostatting to the system's potential energy as part of "thermodynamic output"_thermo_style.html. The potential energy change due to this fix is stored as a scalar quantity, which can be accessed by various "output commands"_Section_howto.html#4_15. This fix can ramp its target temperature and pressure over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the "run"_run.html command for details of how to do this. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] This fix requires that particles be represented as extended spheres and not point particles. This means they will have an angular velocity and a diameter which is determined by the "shape"_shape.html command. Any dimension being adjusted by this fix must be periodic. A dimension whose target pressures are specified as NULL can be non-periodic or periodic. The final Tstop cannot be 0.0 since it would make the target T = 0.0 at some timestep during the simulation which is not allowed in the Nose/Hoover formulation. [Related commands:] "fix npt"_fix_npt.html, "fix nve_sphere"_fix_nve_sphere.html, "fix nvt_sphere"_fix_nvt_sphere.html, "fix npt_asphere"_fix_npt_asphere.html, "fix_modify"_fix_modify.html [Default:] The keyword defaults are drag = 0.0 and dilate = all. diff --git a/doc/fix_press_berendsen.html b/doc/fix_press_berendsen.html index 3079e1178..c0787420d 100644 --- a/doc/fix_press_berendsen.html +++ b/doc/fix_press_berendsen.html @@ -1,218 +1,222 @@ <HTML> <CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A> </CENTER> <HR> <H3>fix press/berendsen command </H3> <P><B>Syntax:</B> </P> <PRE>fix ID group-ID press/berendsen p-style args keyword value ... </PRE> <UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command <LI>press/berendsen = style name of this fix command <LI>p-style = <I>xyz</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I> <PRE> <I>xyz</I> args = Pstart Pstop Pdamp Pstart,Pstop = desired pressure at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) <I>xy</I> or <I>yz</I> or <I>xz</I> args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at start/end (0/1) of run (pressure units) Pdamp = pressure damping parameter (time units) <I>aniso</I> args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at start/end (0/1) of run (pressure units) Pdamp = pressure damping parameter (time units) </PRE> <LI>zero or more keyword/value pairs may be appended <LI>keyword = <I>dilate</I> or <I>modulus</I> <PRE> <I>dilate</I> value = <I>all</I> or <I>partial</I> <I>modulus</I> value = bulk modulus of system (pressure units) </PRE> </UL> <P><B>Examples:</B> </P> <PRE>fix 1 all press/berendsen xyz 0.0 0.0 1000.0 fix 2 all press/berendsen aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial </PRE> <P><B>Description:</B> </P> <P>Reset the pressure of the system by using a Berendsen barostat <A HREF = "#Berendsen">(Berendsen)</A>, which rescales the system volume and (optionally) the atoms coordinates withing the simulation box every timestep. </P> <P>Regardless of what atoms are in the fix group, a global pressure is computed for all atoms. Similarly, when the size of the simulation box is changed, all atoms are re-scaled to new positions, unless the keyword <I>dilate</I> is specified with a value of <I>partial</I>, in which case only the atoms in the fix group are re-scaled. The latter can be useful for leaving the coordinates of atoms in a solid substrate unchanged and controlling the pressure of a surrounding fluid. </P> <P>IMPORTANT NOTE: Unlike the <A HREF = "fix_npt.html">fix npt</A> or <A HREF = "fix_nph.html">fix nph</A> commands which perform Nose/Hoover barostatting AND time integration, this fix does NOT perform time integration. It only modifies the box size and atom coordinates to effect barostatting. Thus you must use a separate time integration fix, like <A HREF = "fix_nve.html">fix nve</A> or <A HREF = "fix_nvt.html">fix nvt</A> to actually update the positions and velocities of atoms. This fix can be used in conjunction with thermostatting fixes to control the temperature, such as <A HREF = "fix_nvt.html">fix nvt</A> or <A HREF = "fix_langevin.html">fix langevin</A> or <A HREF = "fix_temp_berendsen,html">fix temp/berendsen</A>. </P> <P>See <A HREF = "Section_howto.html#4_16">this howto section</A> of the manual for a discussion of different ways to compute temperature and perform thermostatting and barostatting. </P> <HR> <P>The pressure can be controlled in one of several styles, as specified by the <I>p-style</I> argument. In each case, the desired pressure at each timestep is a ramped value during the run from the starting value to the end value. </P> <P>Style <I>xyz</I> means couple all dimensions together when pressure is computed (isotropic pressure), and dilate/contract the dimensions together. </P> <P>Styles <I>xy</I> or <I>yz</I> or <I>xz</I> means that the 2 specified dimensions are coupled together, both for pressure computation and for dilation/contraction. The 3rd dimension dilates/contracts independently, using its pressure component as the driving force. These styles cannot be used for a 2d simulation. </P> <P>For style <I>aniso</I>, all dimensions dilate/contract independently using their individual pressure components as the driving forces. </P> <P>For any of the styles except <I>xyz</I>, any of the independent pressure components (e.g. z in <I>xy</I>, or any dimension in <I>aniso</I>) can have their target pressures (both start and stop values) specified as NULL. This means that no pressure control is applied to that dimension so that the box dimension remains unchanged. For a 2d simulation the z pressure components must be specified as NULL when using style <I>aniso</I>. </P> +<P>For styles <I>xy</I> and <I>yz</I> and <I>xz</I>, the starting and stopping pressures +must be the same for the two coupled dimensions and cannot be +specified as NULL. +</P> <P>In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat is applied. The optional <I>drag</I> keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the pressure is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. </P> <P>For all pressure styles, the simulation box stays rectangular in shape. Parinello-Rahman boundary condition for tilted boxes (triclinic symmetry) are supported by other LAMMPS commands (see <A HREF = "Section_howto.html#4_12">this section</A> of the manual), but not yet by this command. </P> <P>For all styles, the <I>Pdamp</I> parameter determines the time scale on which pressure is relaxed. For example, a value of 1000.0 means to relax the pressure in a timespan of (roughly) 1000 time units (tau or fmsec or psec - see the <A HREF = "units.html">units</A> command). </P> <P>IMPORTANT NOTE: The relaxation time is actually also a function of the bulk modulus of the system (inverse of isothermal compressibility). The bulk modulus has units of pressure and is the amount of pressure that would need to be applied (isotropically) to reduce the volume of the system by a factor of 2 (assuming the bulk modulus was a constant, independent of density, which it's not). The bulk modulus can be set via the keyword <I>modulus</I>. The <I>Pdamp</I> parameter is effectively multiplied by the bulk modulus, so if the pressure is relaxing faster than expected or desired, increasing the bulk modulus has the same effect as increasing <I>Pdamp</I>. The converse is also true. LAMMPS does not attempt to guess a correct value of the bulk modulus; it just uses 10.0 as a default value which gives reasonable relaxation for a Lennard-Jones liquid, but will be way off for other materials and way too small for solids. Thus you should experiment to find appropriate values of <I>Pdamp</I> and/or the <I>modulus</I> when using this fix. </P> <HR> <P>This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp" and "pressure", as if these commands had been issued: </P> <PRE>compute fix-ID_temp group-ID temp compute fix-ID_press group-ID pressure fix-ID_temp </PRE> <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 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 as the fix group. </P> <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> and <I>thermo_press</I>. This means you can change the attributes of this fix's temperature or pressure via the <A HREF = "compute_modify.html">compute_modify</A> command or print this temperature or pressure during thermodynamic output via the <A HREF = "thermo_style.html">thermo_style custom</A> command using the appropriate compute-ID. It also means that changing attributes of <I>thermo_temp</I> or <I>thermo_press</I> will have no effect on this fix. </P> <P><B>Restart, fix_modify, output, run start/stop, minimize info:</B> </P> <P>No information about this fix is written to <A HREF = "restart.html">binary restart files</A>. </P> <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 <A HREF = "compute.html">compute</A> you have defined to this fix which will be used in its temperature and pressure calculations. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. </P> <P>No global scalar or vector or per-atom quantities are stored by this fix for access by various <A HREF = "Section_howto.html#4_15">output commands</A>. </P> <P>This fix can ramp its target pressure over multiple runs, using the <I>start</I> and <I>stop</I> keywords of the <A HREF = "run.html">run</A> command. See the <A HREF = "run.html">run</A> command for details of how to do this. </P> <P>This fix is not invoked during <A HREF = "minimize.html">energy minimization</A>. </P> <P><B>Restrictions:</B> </P> <P>Any dimension being adjusted by this fix must be periodic. A dimension whose target pressures are specified as NULL can be non-periodic or periodic. </P> <P><B>Related commands:</B> </P> <P><A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_nph.html">fix nph</A>, <A HREF = "fix_npt.html">fix npt</A>, <A HREF = "fix_temp_berendsen.html">fix temp/berendsen</A>, <A HREF = "fix_modify.html">fix_modify</A> </P> <P><B>Default:</B> </P> <P>The keyword defaults are dilate = all, modulus = 10.0 in units of pressure for whatever <A HREF = "units.html">units</A> are defined. </P> <HR> <A NAME = "Berendsen"></A> <P><B>(Berendsen)</B> Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem Phys, 81, 3684 (1984). </P> </HTML> diff --git a/doc/fix_press_berendsen.txt b/doc/fix_press_berendsen.txt index db4d9ba32..9128b4a54 100644 --- a/doc/fix_press_berendsen.txt +++ b/doc/fix_press_berendsen.txt @@ -1,207 +1,211 @@ "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 press/berendsen command :h3 [Syntax:] fix ID group-ID press/berendsen p-style args keyword value ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l press/berendsen = style name of this fix command :l p-style = {xyz} or {xy} or {yz} or {xz} or {aniso} :l {xyz} args = Pstart Pstop Pdamp Pstart,Pstop = desired pressure at start/end of run (pressure units) Pdamp = pressure damping parameter (time units) {xy} or {yz} or {xz} args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at start/end (0/1) of run (pressure units) Pdamp = pressure damping parameter (time units) {aniso} args = Px0 Px1 Py0 Py1 Pz0 Pz1 Pdamp Px0,Px1,Py0,Py1,Pz0,Pz1 = desired pressure in x,y,z at start/end (0/1) of run (pressure units) Pdamp = pressure damping parameter (time units) :pre zero or more keyword/value pairs may be appended :l keyword = {dilate} or {modulus} :l {dilate} value = {all} or {partial} {modulus} value = bulk modulus of system (pressure units) :pre :ule [Examples:] fix 1 all press/berendsen xyz 0.0 0.0 1000.0 fix 2 all press/berendsen aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial :pre [Description:] Reset the pressure of the system by using a Berendsen barostat "(Berendsen)"_#Berendsen, which rescales the system volume and (optionally) the atoms coordinates withing the simulation box every timestep. Regardless of what atoms are in the fix group, a global pressure is computed for all atoms. Similarly, when the size of the simulation box is changed, all atoms are re-scaled to new positions, unless the keyword {dilate} is specified with a value of {partial}, in which case only the atoms in the fix group are re-scaled. The latter can be useful for leaving the coordinates of atoms in a solid substrate unchanged and controlling the pressure of a surrounding fluid. IMPORTANT NOTE: Unlike the "fix npt"_fix_npt.html or "fix nph"_fix_nph.html commands which perform Nose/Hoover barostatting AND time integration, this fix does NOT perform time integration. It only modifies the box size and atom coordinates to effect barostatting. Thus you must use a separate time integration fix, like "fix nve"_fix_nve.html or "fix nvt"_fix_nvt.html to actually update the positions and velocities of atoms. This fix can be used in conjunction with thermostatting fixes to control the temperature, such as "fix nvt"_fix_nvt.html or "fix langevin"_fix_langevin.html or "fix temp/berendsen"_fix_temp_berendsen,html. See "this howto section"_Section_howto.html#4_16 of the manual for a discussion of different ways to compute temperature and perform thermostatting and barostatting. :line The pressure can be controlled in one of several styles, as specified by the {p-style} argument. In each case, the desired pressure at each timestep is a ramped value during the run from the starting value to the end value. Style {xyz} means couple all dimensions together when pressure is computed (isotropic pressure), and dilate/contract the dimensions together. Styles {xy} or {yz} or {xz} means that the 2 specified dimensions are coupled together, both for pressure computation and for dilation/contraction. The 3rd dimension dilates/contracts independently, using its pressure component as the driving force. These styles cannot be used for a 2d simulation. For style {aniso}, all dimensions dilate/contract independently using their individual pressure components as the driving forces. For any of the styles except {xyz}, any of the independent pressure components (e.g. z in {xy}, or any dimension in {aniso}) can have their target pressures (both start and stop values) specified as NULL. This means that no pressure control is applied to that dimension so that the box dimension remains unchanged. For a 2d simulation the z pressure components must be specified as NULL when using style {aniso}. +For styles {xy} and {yz} and {xz}, the starting and stopping pressures +must be the same for the two coupled dimensions and cannot be +specified as NULL. + In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat is applied. The optional {drag} keyword will damp these oscillations, although it alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. A non-zero value adds a drag term; the larger the value specified, the greater the damping effect. Performing a short run and monitoring the pressure is the best way to determine if the drag term is working. Typically a value between 0.2 to 2.0 is sufficient to damp oscillations after a few periods. For all pressure styles, the simulation box stays rectangular in shape. Parinello-Rahman boundary condition for tilted boxes (triclinic symmetry) are supported by other LAMMPS commands (see "this section"_Section_howto.html#4_12 of the manual), but not yet by this command. For all styles, the {Pdamp} parameter determines the time scale on which pressure is relaxed. For example, a value of 1000.0 means to relax the pressure in a timespan of (roughly) 1000 time units (tau or fmsec or psec - see the "units"_units.html command). IMPORTANT NOTE: The relaxation time is actually also a function of the bulk modulus of the system (inverse of isothermal compressibility). The bulk modulus has units of pressure and is the amount of pressure that would need to be applied (isotropically) to reduce the volume of the system by a factor of 2 (assuming the bulk modulus was a constant, independent of density, which it's not). The bulk modulus can be set via the keyword {modulus}. The {Pdamp} parameter is effectively multiplied by the bulk modulus, so if the pressure is relaxing faster than expected or desired, increasing the bulk modulus has the same effect as increasing {Pdamp}. The converse is also true. LAMMPS does not attempt to guess a correct value of the bulk modulus; it just uses 10.0 as a default value which gives reasonable relaxation for a Lennard-Jones liquid, but will be way off for other materials and way too small for solids. Thus you should experiment to find appropriate values of {Pdamp} and/or the {modulus} when using this fix. :line This fix computes a temperature and pressure each timestep. To 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_press group-ID pressure fix-ID_temp :pre See the "compute temp"_compute_temp.html and "compute pressure"_compute_pressure.html commands for details. Note that the 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 as the fix group. Note that these are NOT the computes used by thermodynamic output (see the "thermo_style"_thermo_style.html command) with ID = {thermo_temp} and {thermo_press}. This means you can change the attributes of this fix's temperature or pressure via the "compute_modify"_compute_modify.html command or print this temperature or pressure during thermodynamic output via the "thermo_style custom"_thermo_style.html command using the appropriate compute-ID. It also means that changing attributes of {thermo_temp} or {thermo_press} will have no effect on this fix. [Restart, fix_modify, output, run start/stop, minimize info:] No information about this fix is written to "binary restart files"_restart.html. The "fix_modify"_fix_modify.html {temp} and {press} options are supported by this fix. You can use them to assign a "compute"_compute.html you have defined to this fix which will be used in its temperature and pressure calculations. If you do this, note that the kinetic energy derived from the compute temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. No global scalar or vector or per-atom quantities are stored by this fix for access by various "output commands"_Section_howto.html#4_15. This fix can ramp its target pressure over multiple runs, using the {start} and {stop} keywords of the "run"_run.html command. See the "run"_run.html command for details of how to do this. This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] Any dimension being adjusted by this fix must be periodic. A dimension whose target pressures are specified as NULL can be non-periodic or periodic. [Related commands:] "fix nve"_fix_nve.html, "fix nph"_fix_nph.html, "fix npt"_fix_npt.html, "fix temp/berendsen"_fix_temp_berendsen.html, "fix_modify"_fix_modify.html [Default:] The keyword defaults are dilate = all, modulus = 10.0 in units of pressure for whatever "units"_units.html are defined. :line :link(Berendsen) [(Berendsen)] Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem Phys, 81, 3684 (1984).