From cd92c5fb0c700cb0cf557de785ac0bd9bfc3ec65 Mon Sep 17 00:00:00 2001
From: sjplimp deposit drag dt/reset efield enforce2d freeze gravity gyration heat indent langevin lineforce msd momentum nph npt
-npt/asphere nve nve/asphere nve/limit nve/noforce nve/sphere nvt nvt/asphere
-nvt/sllod orient/fcc planeforce poems pour print rdf recenter
-rigid setforce shake spring spring/rg spring/self temp/berendsen temp/rescale tmd viscosity viscous wall/gran wall/lj126 wall/lj93 wall/reflect wiggle
+
+nvt/sllod orient/fcc planeforce poems pour press/berendsen print rdf
+recenter rigid setforce shake spring spring/rg spring/self temp/berendsen
+temp/rescale tmd viscosity viscous wall/gran wall/lj126 wall/lj93 wall/reflect wiggle
diff --git a/doc/Section_commands.txt b/doc/Section_commands.txt
index 74ceb67202..f600d625c2 100644
--- a/doc/Section_commands.txt
+++ b/doc/Section_commands.txt
@@ -412,6 +412,7 @@ of each style or click on the style itself for a full description:
"planeforce"_fix_planeforce.html,
"poems"_fix_poems.html,
"pour"_fix_pour.html,
+"press/berendsen"_fix_press_berendsen.html,
"print"_fix_print.html,
"rdf"_fix_rdf.html,
"recenter"_fix_recenter.html,
diff --git a/doc/fix.html b/doc/fix.html
index 9d30bb4b1e..67776ae2a2 100644
--- a/doc/fix.html
+++ b/doc/fix.html
@@ -140,6 +140,7 @@ list of fix styles available in LAMMPS:
The atoms in the fix group are the only ones whose velocities and @@ -72,6 +72,15 @@ 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 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 or fix +nvt on atoms to which this fix is applied. Use fix +npt instead of this fix, if you want to control both +temperature and pressure via Nose/Hoover. +
The pressure can be controlled in one of several styles, as specified @@ -112,14 +121,13 @@ 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 -implemented in LAMMPS. +shape. Parinello-Rahman boundary conditions (tilted box) for this fix +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 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 command).
You should not use fix nvt with this fix. Instead, use -fix npt if you want to control both temperature and -pressure via Nose/Hoover. -
Related commands:
fix nve, fix npt, diff --git a/doc/fix_nph.txt b/doc/fix_nph.txt index bcc1731846..0cc8e5e671 100644 --- a/doc/fix_nph.txt +++ b/doc/fix_nph.txt @@ -47,8 +47,8 @@ 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 ""fix -langevin"_fix_langevin.html or "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 @@ -63,6 +63,15 @@ 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. + :line The pressure can be controlled in one of several styles, as specified @@ -103,14 +112,13 @@ 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 -implemented in LAMMPS. +shape. Parinello-Rahman boundary conditions (tilted box) for this fix +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). +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 @@ -177,10 +185,6 @@ 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. -You should not use "fix nvt"_fix_nvt.html with this fix. Instead, use -"fix npt"_fix_npt.html if you want to control both temperature and -pressure via Nose/Hoover. - [Related commands:] "fix nve"_fix_nve.html, "fix npt"_fix_npt.html, diff --git a/doc/fix_npt.html b/doc/fix_npt.html index b806b95384..6c099d2763 100644 --- a/doc/fix_npt.html +++ b/doc/fix_npt.html @@ -77,15 +77,15 @@ 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 -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 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 or fix temp/rescale -commands. +
IMPORTANT NOTE: Unlike the fix +temp/berendsen 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 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 or fix +temp/rescale commands.
For all pressure styles, the simulation box stays rectangular in -shape. Parinello-Rahman boundary conditions (tilted box) are not yet -implemented in LAMMPS. +shape. Parinello-Rahman boundary conditions (tilted box) for this fix +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. diff --git a/doc/fix_npt.txt b/doc/fix_npt.txt index 761c8e0d12..8244edc553 100644 --- a/doc/fix_npt.txt +++ b/doc/fix_npt.txt @@ -66,15 +66,15 @@ 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_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. +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. :line @@ -116,8 +116,8 @@ 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. +shape. Parinello-Rahman boundary conditions (tilted box) for this fix +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. diff --git a/doc/fix_press_berendsen.html b/doc/fix_press_berendsen.html new file mode 100644 index 0000000000..7141495304 --- /dev/null +++ b/doc/fix_press_berendsen.html @@ -0,0 +1,195 @@ + +
Syntax: +
+fix ID group-ID press/berendsen p-style args keyword value ... ++
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) ++
dilate value = all or partial ++ +
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 ++
Description: +
+Reset the pressure of the system by using a Berendsen barostat +(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 or fix +nph 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 or fix nvt 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 or fix langevin or fix +temp/berendsen. +
+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. +
+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 conditions (tilted box) for this fix +are not yet implemented in LAMMPS. +
+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 command). +
+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 ++
See the compute temp and compute +pressure 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 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 command or print this temperature +or pressure during thermodynamic output via the thermo_style +custom 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. +
+The fix_modify temp and press options are +supported by this fix. You can use them to assign a +compute 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. +
+This fix can ramp its target pressure over multiple runs, using the +start and stop keywords of the run command. See the +run command for details of how to do this. +
+This fix is not invoked during energy minimization. +
+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 nph, fix +npt, fix temp/berendsen, +fix_modify +
+Default: +
+The keyword defaults are dilate = all. +
+(Berendsen) Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem +Phys, 81, 3684 (1984). +
+ diff --git a/doc/fix_press_berendsen.txt b/doc/fix_press_berendsen.txt new file mode 100644 index 0000000000..b4368bf692 --- /dev/null +++ b/doc/fix_press_berendsen.txt @@ -0,0 +1,183 @@ +"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} :l + {dilate} value = {all} or {partial} :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. + +: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}. + +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 conditions (tilted box) for this fix +are not yet implemented in LAMMPS. + +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:] + +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. + +:line + +:link(Berendsen) + +[(Berendsen)] Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem +Phys, 81, 3684 (1984).