diff --git a/doc/Manual.html b/doc/Manual.html index 22870110f0..a41c6d0b0a 100644 --- a/doc/Manual.html +++ b/doc/Manual.html @@ -127,6 +127,8 @@ it gives quick access to documentation for all LAMMPS commands. 4.14 Aspherical particles
4.15 Output from LAMMPS +
+ 4.16 Thermostatting, barostatting, and compute temperature
  • Example problems @@ -225,6 +227,8 @@ it gives quick access to documentation for all LAMMPS commands. + + diff --git a/doc/Manual.txt b/doc/Manual.txt index 0fe5ba2889..bf86a3730a 100644 --- a/doc/Manual.txt +++ b/doc/Manual.txt @@ -87,7 +87,8 @@ it gives quick access to documentation for all LAMMPS commands. 4.12 "Non-orthogonal simulation boxes"_4_12 :b 4.13 "NEMD simulations"_4_13 :b 4.14 "Aspherical particles"_4_14 :b - 4.15 "Output from LAMMPS"_4_15 :ule,b + 4.15 "Output from LAMMPS"_4_15 :b + 4.16 "Thermostatting, barostatting, and compute temperature"_4_16 :ule,b "Example problems"_Section_example.html :l "Performance & scalability"_Section_perf.html :l "Additional tools"_Section_tools.html :l @@ -137,6 +138,7 @@ it gives quick access to documentation for all LAMMPS commands. :link(4_13,Section_howto.html#4_13) :link(4_14,Section_howto.html#4_14) :link(4_15,Section_howto.html#4_15) +:link(4_16,Section_howto.html#4_16) :link(9_1,Section_errors.html#9_1) :link(9_2,Section_errors.html#9_2) diff --git a/doc/Section_howto.html b/doc/Section_howto.html index e79f3fe78a..1b89d42f13 100644 --- a/doc/Section_howto.html +++ b/doc/Section_howto.html @@ -28,7 +28,8 @@ certain kinds of LAMMPS simulations. 4.12 Non-orthogonal simulation boxes
    4.13 NEMD simulations
    4.14 Aspherical particles
    -4.15 Output from LAMMPS
    +4.15 Output from LAMMPS
    +4.16 Thermostatting, barostatting and computing temperature

    The example input scripts included in the LAMMPS distribution and highlighted in this section also show how to @@ -1016,6 +1017,82 @@ frequencies and global vs per-atom attributes are the same.


    +

    4.16 Thermostatting, barostatting, and computing temperature +

    +

    add a HowTo on time integration options and/or thermostat/temperature options + 4 thermostats + which do integration, which need fix nve or fix nph + all can be used with press/berendsen + only NVT thermostats rotational degrees of freedom directly + what bias is, how to remove it + howto remove bias for temp/sphere and temp/asphere + which biases can be doubled up via compute_modify bias command +

    +

    Enhanced the computes that calculate temperature, thermostatting +fixes, and time integrators that use temperature control to be more +flexible and consistent. This is for point particles, extended +spherical particles, and aspherical +particles. Also Added new compute +ke and compute +erotate/asphere commands. +

    +

    These compute commands calculate temperature. All +but the first 3 calculate velocity biases that are removed when +computing a temperature. Temp/sphere and temp/asphere now allow +computes that calculate such a biased temperature to be included as an +additional argument, so that the translational velocity of extended +spherical or aspherical particles can also be altered in prescribed +ways. +

    + +

    Four thermostatting methods are available: Nose-Hoover, Berendsen, +Langevin, and direct rescaling. Nose/Hoover works on rotational +degrees-of-freedom for spherical and aspherical particles; the others +only work on translational degrees of freedom. Any of these methods +can use temperature computes that remove bias for the purpose of +computing the current temperature and performing thermostatting only +on the remaining thermal velocity. For non-equilibrium MD +simulations., there is also a SLLOD fix +which does NVT thermostatting in conjunction with the SLLOD equations +of motion. These are the relevant fix commands: +

    + +

    Note that only the nvt fixes perform time integration. The others +should be used with an NVE integration fix such as these: +

    + +

    Two barosttating methods are available: Nose-Hoover and Berendsen. +The fix npt commands include Nose-Hoover thermostatting. Fix nph and +fix press/bernendsen can be used in conjunction with any of the 4 +thermostatting methods. These are the relevant fix +commands: +

    + +
    +
    diff --git a/doc/Section_howto.txt b/doc/Section_howto.txt index b8694ec367..8744e2876d 100644 --- a/doc/Section_howto.txt +++ b/doc/Section_howto.txt @@ -25,7 +25,8 @@ certain kinds of LAMMPS simulations. 4.12 "Non-orthogonal simulation boxes"_#4_12 4.13 "NEMD simulations"_#4_13 4.14 "Aspherical particles"_#4_14 -4.15 "Output from LAMMPS"_#4_15 :all(b) +4.15 "Output from LAMMPS"_#4_15 +4.16 "Thermostatting, barostatting and computing temperature"_#4_16 :all(b) The example input scripts included in the LAMMPS distribution and highlighted in "this section"_Section_example.html also show how to @@ -1005,6 +1006,84 @@ variable atom: thermo keywords, atom value vx\[123\], atom vector vx\[\], global print: any variable: N/A: screen, log: between runs run every: any variable: nevery: screen, log: nevery :tb(s=:) +:line + +4.16 Thermostatting, barostatting, and computing temperature :link(4_16),h4 + + add a HowTo on time integration options and/or thermostat/temperature options + 4 thermostats + which do integration, which need fix nve or fix nph + all can be used with press/berendsen + only NVT thermostats rotational degrees of freedom directly + what bias is, how to remove it + howto remove bias for temp/sphere and temp/asphere + which biases can be doubled up via compute_modify bias command + +Enhanced the computes that calculate temperature, thermostatting +fixes, and time integrators that use temperature control to be more +flexible and consistent. This is for point particles, extended +spherical particles, and "aspherical +particles"_doc/Section_howto.html#4_14. Also Added new "compute +ke"_doc/compute_ke.html and "compute +erotate/asphere"_doc/compute_erotate_asphere.html commands. + +These "compute commands"_doc/compute.html calculate temperature. All +but the first 3 calculate velocity biases that are removed when +computing a temperature. Temp/sphere and temp/asphere now allow +computes that calculate such a biased temperature to be included as an +additional argument, so that the translational velocity of extended +spherical or aspherical particles can also be altered in prescribed +ways. + +"compute temp"_doc/compute_temp.html +"compute temp/sphere"_doc/compute_temp_sphere.html +"compute temp/asphere"_doc/compute_temp_asphere.html +"compute temp/com"_doc/compute_temp_com.html +"compute temp/deform"_doc/compute_temp_deform.html +"compute temp/partial"_doc/compute_temp_partial.html +"compute temp/ramp"_doc/compute_temp_ramp.html +"compute temp/region"_doc/compute_temp_region.html :ul + +Four thermostatting methods are available: Nose-Hoover, Berendsen, +Langevin, and direct rescaling. Nose/Hoover works on rotational +degrees-of-freedom for spherical and aspherical particles; the others +only work on translational degrees of freedom. Any of these methods +can use temperature computes that remove bias for the purpose of +computing the current temperature and performing thermostatting only +on the remaining thermal velocity. For "non-equilibrium MD +simulations"_doc/Section_howto.html#4_13., there is also a SLLOD fix +which does NVT thermostatting in conjunction with the SLLOD equations +of motion. These are the relevant "fix commands"_doc/fix.html: + +"fix nvt"_doc/fix_nvt.html +"fix nvt/sphere"_doc/fix_nvt_sphere.html +"fix nvt/asphere"_doc/fix_nvt_asphere.html +"fix nvt/sllod"_doc/fix_nvt_sllod.html +"fix temp/berendsen"_doc/fix_temp_berendsen.html +"fix langevin"_doc/fix_langevin.html +"fix temp/rescale"_doc/fix_temp_rescale.html :ul + +Note that only the nvt fixes perform time integration. The others +should be used with an NVE integration fix such as these: + +"fix nve"_doc/fix_nve.html +"fix nve/sphere"_doc/fix_nve_sphere.html +"fix nve/asphere"_doc_fix_nve_asphere.html :ul + +Two barosttating methods are available: Nose-Hoover and Berendsen. +The fix npt commands include Nose-Hoover thermostatting. Fix nph and +fix press/bernendsen can be used in conjunction with any of the 4 +thermostatting methods. These are the relevant "fix +commands"_doc/fix.html: + +"fix npt"_doc/fix_npt.html +"fix npt/sphere"_doc/fix_npt_sphere.html +"fix npt/asphere"_doc/fix_npt_asphere.html +"fix nph"_doc/fix_nph.html +"fix press/berendsen"_doc/fix_press_berendsen.html :ul + + + :line :line diff --git a/doc/compute_temp.html b/doc/compute_temp.html index 7d68165bd2..9275822752 100644 --- a/doc/compute_temp.html +++ b/doc/compute_temp.html @@ -58,6 +58,10 @@ LAMMPS starts up, as if this command were in the input script:

    See the "thermo_style" command for more details.

    +

    See this howto section of the manual for a +discussion of different ways to compute temperature and perform +thermostatting. +

    Output info:

    The scalar value calculated by this compute is "intensive", meaning it diff --git a/doc/compute_temp.txt b/doc/compute_temp.txt index 6696bcf5c8..b18e93dba1 100644 --- a/doc/compute_temp.txt +++ b/doc/compute_temp.txt @@ -55,6 +55,10 @@ compute thermo_temp all temp :pre See the "thermo_style" command for more details. +See "this howto section"_Section_howto.html#4_16 of the manual for a +discussion of different ways to compute temperature and perform +thermostatting. + [Output info:] The scalar value calculated by this compute is "intensive", meaning it diff --git a/doc/compute_temp_com.html b/doc/compute_temp_com.html index 8836839bad..44b66a8a56 100644 --- a/doc/compute_temp_com.html +++ b/doc/compute_temp_com.html @@ -65,6 +65,10 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the extra option of the compute_modify command.

    +

    See this howto section of the manual for a +discussion of different ways to compute temperature and perform +thermostatting. +

    Output info:

    The scalar value calculated by this compute is "intensive", meaning it diff --git a/doc/compute_temp_com.txt b/doc/compute_temp_com.txt index 30d519d792..460602d15f 100644 --- a/doc/compute_temp_com.txt +++ b/doc/compute_temp_com.txt @@ -62,6 +62,10 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. +See "this howto section"_Section_howto.html#4_16 of the manual for a +discussion of different ways to compute temperature and perform +thermostatting. + [Output info:] The scalar value calculated by this compute is "intensive", meaning it diff --git a/doc/compute_temp_deform.html b/doc/compute_temp_deform.html index 23f93752e2..9e10e7d147 100644 --- a/doc/compute_temp_deform.html +++ b/doc/compute_temp_deform.html @@ -87,6 +87,10 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the extra option of the compute_modify command.

    +

    See this howto section of the manual for a +discussion of different ways to compute temperature and perform +thermostatting. +

    Output info:

    The scalar value calculated by this compute is "intensive", meaning it diff --git a/doc/compute_temp_deform.txt b/doc/compute_temp_deform.txt index b3fe7e5c8d..d0ddc343df 100644 --- a/doc/compute_temp_deform.txt +++ b/doc/compute_temp_deform.txt @@ -84,6 +84,10 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. +See "this howto section"_Section_howto.html#4_16 of the manual for a +discussion of different ways to compute temperature and perform +thermostatting. + [Output info:] The scalar value calculated by this compute is "intensive", meaning it diff --git a/doc/compute_temp_partial.html b/doc/compute_temp_partial.html index 158795fc1a..0157cc88c2 100644 --- a/doc/compute_temp_partial.html +++ b/doc/compute_temp_partial.html @@ -66,6 +66,10 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the extra option of the compute_modify command.

    +

    See this howto section of the manual for a +discussion of different ways to compute temperature and perform +thermostatting. +

    Output info:

    The scalar value calculated by this compute is "intensive", meaning it diff --git a/doc/compute_temp_partial.txt b/doc/compute_temp_partial.txt index e1ef41d283..d38a34b07e 100644 --- a/doc/compute_temp_partial.txt +++ b/doc/compute_temp_partial.txt @@ -63,6 +63,10 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. +See "this howto section"_Section_howto.html#4_16 of the manual for a +discussion of different ways to compute temperature and perform +thermostatting. + [Output info:] The scalar value calculated by this compute is "intensive", meaning it diff --git a/doc/compute_temp_ramp.html b/doc/compute_temp_ramp.html index 0e2a170e56..d3f8863446 100644 --- a/doc/compute_temp_ramp.html +++ b/doc/compute_temp_ramp.html @@ -78,6 +78,10 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the extra option of the compute_modify command.

    +

    See this howto section of the manual for a +discussion of different ways to compute temperature and perform +thermostatting. +

    Output info:

    The scalar value calculated by this compute is "intensive", meaning it diff --git a/doc/compute_temp_ramp.txt b/doc/compute_temp_ramp.txt index 3fd44ff25d..2e8b288ac0 100644 --- a/doc/compute_temp_ramp.txt +++ b/doc/compute_temp_ramp.txt @@ -74,6 +74,10 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. +See "this howto section"_Section_howto.html#4_16 of the manual for a +discussion of different ways to compute temperature and perform +thermostatting. + [Output info:] The scalar value calculated by this compute is "intensive", meaning it diff --git a/doc/compute_temp_region.html b/doc/compute_temp_region.html index 0ca168aace..daf8f0c0a2 100644 --- a/doc/compute_temp_region.html +++ b/doc/compute_temp_region.html @@ -77,6 +77,10 @@ constrain molecular motion, such as fix shake and degrees-of-freedom can be altered using the extra option of the compute_modify command.

    +

    See this howto section of the manual for a +discussion of different ways to compute temperature and perform +thermostatting. +

    Output info:

    The scalar value calculated by this compute is "intensive", meaning it diff --git a/doc/compute_temp_region.txt b/doc/compute_temp_region.txt index 50736d846b..a74ec40af4 100644 --- a/doc/compute_temp_region.txt +++ b/doc/compute_temp_region.txt @@ -74,6 +74,10 @@ constrain molecular motion, such as "fix shake"_fix_shake.html and degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. +See "this howto section"_Section_howto.html#4_16 of the manual for a +discussion of different ways to compute temperature and perform +thermostatting. + [Output info:] The scalar value calculated by this compute is "intensive", meaning it diff --git a/doc/compute_temp_sphere.html b/doc/compute_temp_sphere.html index 4e164db224..3ad02ed746 100644 --- a/doc/compute_temp_sphere.html +++ b/doc/compute_temp_sphere.html @@ -70,6 +70,10 @@ computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the extra option of the compute_modify command.

    +

    See this howto section of the manual for a +discussion of different ways to compute temperature and perform +thermostatting. +

    Output info:

    The scalar value calculated by this compute is "intensive", meaning it diff --git a/doc/compute_temp_sphere.txt b/doc/compute_temp_sphere.txt index a40887822e..4c7878d9b4 100755 --- a/doc/compute_temp_sphere.txt +++ b/doc/compute_temp_sphere.txt @@ -67,6 +67,10 @@ computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the {extra} option of the "compute_modify"_compute_modify.html command. +See "this howto section"_Section_howto.html#4_16 of the manual for a +discussion of different ways to compute temperature and perform +thermostatting. + [Output info:] The scalar value calculated by this compute is "intensive", meaning it diff --git a/doc/fix_langevin.html b/doc/fix_langevin.html index dcbc61ae2a..f7389486fd 100644 --- a/doc/fix_langevin.html +++ b/doc/fix_langevin.html @@ -85,6 +85,10 @@ should not normally be used on atoms that also have their temperature controlled by another fix - e.g. by fix nvt or fix temp/rescale commands.

    +

    See this howto section of the manual for a +discussion of different ways to compute temperature and perform +thermostatting. +

    The desired temperature at each timestep is a ramped value during the run from Tstart to Tstop.

    diff --git a/doc/fix_langevin.txt b/doc/fix_langevin.txt index b9318e3558..78aa9d1c1a 100644 --- a/doc/fix_langevin.txt +++ b/doc/fix_langevin.txt @@ -76,6 +76,10 @@ should not normally be used on atoms that also have their temperature controlled by another fix - e.g. by "fix nvt"_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. + The desired temperature at each timestep is a ramped value during the run from {Tstart} to {Tstop}. diff --git a/doc/fix_nph.html b/doc/fix_nph.html index fd6fdd441f..54929f1ea8 100644 --- a/doc/fix_nph.html +++ b/doc/fix_nph.html @@ -81,6 +81,10 @@ 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.

    +

    See this howto section of the manual for a +discussion of different ways to compute temperature and perform +thermostatting and barostatting. +


    The pressure can be controlled in one of several styles, as specified diff --git a/doc/fix_nph.txt b/doc/fix_nph.txt index 0cc8e5e671..8335b39865 100644 --- a/doc/fix_nph.txt +++ b/doc/fix_nph.txt @@ -72,6 +72,10 @@ 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 diff --git a/doc/fix_npt.html b/doc/fix_npt.html index d6ba128413..a1e03fa370 100644 --- a/doc/fix_npt.html +++ b/doc/fix_npt.html @@ -92,6 +92,10 @@ normally be used on atoms that also have their temperature controlled by another fix - e.g. by fix langevin or fix temp/rescale commands.

    +

    See this howto section of the manual for a +discussion of different ways to compute temperature and perform +thermostatting and barostatting. +


    The pressure can be controlled in one of several styles, as specified diff --git a/doc/fix_npt.txt b/doc/fix_npt.txt index c845e2b5de..37b142e37c 100644 --- a/doc/fix_npt.txt +++ b/doc/fix_npt.txt @@ -81,6 +81,10 @@ 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 diff --git a/doc/fix_nvt.html b/doc/fix_nvt.html index 55a08a000a..29730e764c 100644 --- a/doc/fix_nvt.html +++ b/doc/fix_nvt.html @@ -75,6 +75,10 @@ temperature controlled by another fix - e.g. by fix langevin or fix temp/rescale commands.

    +

    See this howto section of the manual for a +discussion of different ways to compute temperature and perform +thermostatting. +

    This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp", as if this command had been issued: diff --git a/doc/fix_nvt.txt b/doc/fix_nvt.txt index 8afd202297..75692605dc 100644 --- a/doc/fix_nvt.txt +++ b/doc/fix_nvt.txt @@ -66,6 +66,10 @@ 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. + This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp", as if this command had been issued: diff --git a/doc/fix_press_berendsen.html b/doc/fix_press_berendsen.html index f482c42231..182429b80b 100644 --- a/doc/fix_press_berendsen.html +++ b/doc/fix_press_berendsen.html @@ -73,6 +73,10 @@ conjunction with thermostatting fixes to control the temperature, such as fix nvt or fix langevin or fix temp/berendsen.

    +

    See this howto section of the manual for a +discussion of different ways to compute temperature and perform +thermostatting and barostatting. +


    The pressure can be controlled in one of several styles, as specified diff --git a/doc/fix_press_berendsen.txt b/doc/fix_press_berendsen.txt index 1812b8ada9..9a1fcb72a5 100644 --- a/doc/fix_press_berendsen.txt +++ b/doc/fix_press_berendsen.txt @@ -64,6 +64,10 @@ 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 diff --git a/doc/fix_temp_berendsen.html b/doc/fix_temp_berendsen.html index ad595c430e..878190cd7b 100644 --- a/doc/fix_temp_berendsen.html +++ b/doc/fix_temp_berendsen.html @@ -54,6 +54,10 @@ normally be used on atoms that also have their temperature controlled by another fix - e.g. by fix nvt or fix langevin commands.

    +

    See this howto section of the manual for a +discussion of different ways to compute temperature and perform +thermostatting. +

    This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp", as if this command had been issued: diff --git a/doc/fix_temp_berendsen.txt b/doc/fix_temp_berendsen.txt index b2aad9f1f7..30dd827a44 100644 --- a/doc/fix_temp_berendsen.txt +++ b/doc/fix_temp_berendsen.txt @@ -51,6 +51,10 @@ normally be used on atoms that also have their temperature controlled by another fix - e.g. by "fix nvt"_fix_nvt.html or "fix langevin"_fix_langevin.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. + This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp", as if this command had been issued: diff --git a/doc/fix_temp_rescale.html b/doc/fix_temp_rescale.html index 85aa969914..1b2a61c987 100644 --- a/doc/fix_temp_rescale.html +++ b/doc/fix_temp_rescale.html @@ -61,6 +61,10 @@ normally be used on atoms that also have their temperature controlled by another fix - e.g. by fix nvt or fix langevin commands.

    +

    See this howto section of the manual for a +discussion of different ways to compute temperature and perform +thermostatting. +

    This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp", as if one of this command had been issued: diff --git a/doc/fix_temp_rescale.txt b/doc/fix_temp_rescale.txt index f7e2560374..d345c2e7af 100644 --- a/doc/fix_temp_rescale.txt +++ b/doc/fix_temp_rescale.txt @@ -58,6 +58,10 @@ normally be used on atoms that also have their temperature controlled by another fix - e.g. by "fix nvt"_fix_nvt.html or "fix langevin"_fix_langevin.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. + This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp", as if one of this command had been issued: