diff --git a/doc/fix_msst.html b/doc/fix_msst.html index 8be90641a8..60f2daffe7 100644 --- a/doc/fix_msst.html +++ b/doc/fix_msst.html @@ -155,7 +155,7 @@ all.
Related commands:
-Default:
diff --git a/doc/fix_msst.txt b/doc/fix_msst.txt index 0a606bf814..60dbc1f20d 100644 --- a/doc/fix_msst.txt +++ b/doc/fix_msst.txt @@ -145,7 +145,7 @@ all. [Related commands:] -"fix deform"_fix_deform.html +"fix nphug"_fix_nphug.html, "fix deform"_fix_deform.html [Default:] diff --git a/doc/fix_nh.html b/doc/fix_nh.html index 49165c16ce..6bf376ba76 100644 --- a/doc/fix_nh.html +++ b/doc/fix_nh.html @@ -28,7 +28,7 @@one or more keyword value pairs may be appended
-keyword = temp or iso or aniso or tri or x or y or z or xy or yz or xz or couple or tchain or pchain or mtk or tloop or ploop or nreset or drag or dilate
+keyword = temp or iso or aniso or tri or x or y or z or xy or yz or xz or couple or tchain or pchain or mtk or tloop or ploop or nreset or drag or dilate or scaleyz or scalexz or scalexy
temp values = Tstart Tstop Tdamp
Tstart,Tstop = external temperature at start/end of run
Tdamp = temperature damping parameter (time units)
diff --git a/doc/fix_nh.txt b/doc/fix_nh.txt
index 4b4ea236e5..f7dd7f2561 100644
--- a/doc/fix_nh.txt
+++ b/doc/fix_nh.txt
@@ -19,7 +19,7 @@ fix ID group-ID style_name keyword value ... :pre
ID, group-ID are documented in "fix"_fix.html command :ulb,l
style_name = {nvt} or {npt} or {nph} :l
one or more keyword value pairs may be appended
-keyword = {temp} or {iso} or {aniso} or {tri} or {x} or {y} or {z} or {xy} or {yz} or {xz} or {couple} or {tchain} or {pchain} or {mtk} or {tloop} or {ploop} or {nreset} or {drag} or {dilate}
+keyword = {temp} or {iso} or {aniso} or {tri} or {x} or {y} or {z} or {xy} or {yz} or {xz} or {couple} or {tchain} or {pchain} or {mtk} or {tloop} or {ploop} or {nreset} or {drag} or {dilate} or {scaleyz} or {scalexz} or {scalexy}
{temp} values = Tstart Tstop Tdamp
Tstart,Tstop = external temperature at start/end of run
Tdamp = temperature damping parameter (time units)
diff --git a/doc/fix_nphug.html b/doc/fix_nphug.html
new file mode 100644
index 0000000000..e4ad3a3f2e
--- /dev/null
+++ b/doc/fix_nphug.html
@@ -0,0 +1,219 @@
+
+LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands
+
+
+
+
+
+
+
+
+
+fix nphug command
+
+Syntax:
+
+fix ID group-ID nphug keyword value ...
+
+one or more keyword value pairs may be appended +keyword = temp or iso or aniso or tri or x or y or z or couple or tchain or pchain or mtk or tloop or ploop or nreset or drag or dilate or scaleyz or scalexz or scalexy + temp values = Value1 Value2 Tdamp + Value1, Value2 = Nose-Hoover target temperatures, ignored by Hugoniostat + Tdamp = temperature damping parameter (time units) + iso or aniso or tri values = Pstart Pstop Pdamp + Pstart,Pstop = scalar external pressures, must be equal (pressure units) + Pdamp = pressure damping parameter (time units) + x or y or z or xy or yz or xz values = Pstart Pstop Pdamp + Pstart,Pstop = external stress tensor components, must be equal (pressure units) + Pdamp = stress damping parameter (time units) + couple = none or xyz or xy or yz or xz + tchain value = length of thermostat chain (1 = single thermostat) + pchain values = length of thermostat chain on barostat (0 = no thermostat) + mtk value = yes or no = add in MTK adjustment term or not + tloop value = number of sub-cycles to perform on thermostat + ploop value = number of sub-cycles to perform on barostat thermostat + nreset value = reset reference cell every this many timesteps + drag value = drag factor added to barostat/thermostat (0.0 = no drag) + dilate value = all or partial + scaleyz value = yes or no = scale yz with lz + scalexz value = yes or no = scale xz with lz + scalexy value = yes or no = scale xy with ly ++ +
Examples: +
+fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0 +fix myhug all nphug temp 1.0 1.0 10.0 iso 40.0 40.0 70.0 drag 200.0 tchain 1 pchain 0 +
+Description: +
+This command is a variant of the Nose-Hoover +fix npt fix style. +It performs time integration of the Hugoniostat equations +of motion developed by Ravelo et al. (Ravelo). +These equations compress the system to a state with average +axial stress or pressure equal to the specified target value +and that satisfies the Rankine-Hugoniot (RH) +jump conditions for steady shocks. +
+The compression can be performed +either +hydrostatically (using keyword iso, aniso, or tri) or uniaxially +(using keywords x, y, or z). In the hydrostatic case, +the cell dimensions change dynamically so that the average axial stress +in all three directions converges towards the specified target value. +In the uniaxial case, the chosen cell dimension changes dynamically +so that the average +axial stress in that direction converges towards the target value. The +other two cell dimensions are kept fixed (zero lateral strain). +
+This leads to the following additional restrictions on the keywords: +
+One and only one of the following keywords should be used: iso, aniso, tri, x, y, z, +
+The specified initial and final target pressures must be the same. +
+The keywords xy, xz, yz may not be used. +
+The only admissible value for the couple keyword is xyz, +which has the same effect as keyword iso +
+Essentially, a Hugoniostat simulation is an NPT simulation in which the +user-specified target temperature is replaced with a time-dependent +target temperature Tt obtained from the following equation: +
+Tt - T = (0.5*(P+P0)(V0-V)+E0-E)/(Ndof kB) = Delta +
+where T and Tt are the instantaneous and target temperatures, +P and P0 are the instantaneous and reference pressure or axial stress, +depending on whether hydrostatic or uniaxial compression is being +performed, V and V0 are the instantaneous and reference volumes, +E and E0 are the instantaneous and reference internal energy (potential +plus kinetic), Ndof is the number of degrees of freedom used in the +definition of temperature, and kB is the Boltzmann constant. Delta is the +negative deviation of the instantaneous temperature from the target temperature. +The values of E0, V0, and P0 are the instantaneous values at the start of +the simulation. These can be overridden using the fix_modify keywords e0, +v0, and p0 described below. +
+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 be +used on atoms that have their temperature controlled by another fix +- e.g. by fix langevin or fix temp/rescale +commands. +
+This fix compute a temperature and pressure each timestep. To do +this, the fix creates its own computes of style "temp" and "pressure", +as if one of these two sets of commands had been issued: +
+compute fix-ID_temp group-ID temp +compute fix-ID_press group-ID pressure fix-ID_temp ++
compute fix-ID_temp all temp +compute fix-ID_press all 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". For fix nvt, the group for the new computes +is the same as the fix group. For fix nph and fix npt, the group for +the new computes is "all" since pressure is computed for the entire +system. +
+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: +
+This fix writes the values of E0, V0, and P0, as well as the +state of all the thermostat and barostat +variables to binary restart files. See the +read_restart 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 e0, v0 and p0 keywords +can be used to define the values of these quantities. Note the +the values for e0 and v0 are extensive, and so must correspond +to the total energy and volume of the entire system, not energy and +volume per atom. If any of these quantities are not specified, then the +instanteous value in the system at the start of the simulation is used. +
+The fix_modify temp and press options are +supported by these fixes. You can use them to assign a +compute 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. +
+The fix_modify energy option is supported by these +fixes to add the energy change induced by Nose/Hoover thermostatting +and barostatting to the system's potential energy as part of +thermodynamic output. Either way, this energy is *not* +included in the definition of internal energy E when calculating the value +of Delta in the above equation. +
+These fixes compute a global scalar and a global vector of quantities, +which can be accessed by various output +commands. The scalar value calculated by +these fixes is "extensive"; the vector values are "intensive". +
+The scalar is the cumulative energy change due to the fix. +
+The vector stores three quantities unique to this fix (Delta, Us, and up), +followed by all the internal Nose/Hoover thermostat and barostat +variables defined for fix_style npt. Delta is the deviation +of the temperature from the target temperature, given by the above equation. +Us and up are the shock and particle velocity correspponding to a steady +shock calculated from the Rh conditions. They have units of distance/time. +
+Restrictions: +
+This fix style is part of the SHOCK package. It is only enabled if +LAMMPS was built with that package. See the Making +LAMMPS section for more info. +
+All the usual restrictions for fix_style npt apply, +plus the additional ones mentioned above. +
+Related commands: +
+fix msst, fix npt, fix_modify +
+Default: +
+The keyword defaults are the same as those for fix npt +
+(Ravelo) Ravelo, Holian, Germann and Lomdahl, Phys Rev B, 70, 014103 (2004). +
+ diff --git a/doc/fix_nphug.txt b/doc/fix_nphug.txt new file mode 100644 index 0000000000..6bb5664302 --- /dev/null +++ b/doc/fix_nphug.txt @@ -0,0 +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 nphug command :h3 + +[Syntax:] + +fix ID group-ID nphug keyword value ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +one or more keyword value pairs may be appended +keyword = {temp} or {iso} or {aniso} or {tri} or {x} or {y} or {z} or {couple} or {tchain} or {pchain} or {mtk} or {tloop} or {ploop} or {nreset} or {drag} or {dilate} or {scaleyz} or {scalexz} or {scalexy} + {temp} values = Value1 Value2 Tdamp + Value1, Value2 = Nose-Hoover target temperatures, ignored by Hugoniostat + Tdamp = temperature damping parameter (time units) + {iso} or {aniso} or {tri} values = Pstart Pstop Pdamp + Pstart,Pstop = scalar external pressures, must be equal (pressure units) + Pdamp = pressure damping parameter (time units) + {x} or {y} or {z} or {xy} or {yz} or {xz} values = Pstart Pstop Pdamp + Pstart,Pstop = external stress tensor components, must be equal (pressure units) + Pdamp = stress damping parameter (time units) + {couple} = {none} or {xyz} or {xy} or {yz} or {xz} + {tchain} value = length of thermostat chain (1 = single thermostat) + {pchain} values = length of thermostat chain on barostat (0 = no thermostat) + {mtk} value = {yes} or {no} = add in MTK adjustment term or not + {tloop} value = number of sub-cycles to perform on thermostat + {ploop} value = number of sub-cycles to perform on barostat thermostat + {nreset} value = reset reference cell every this many timesteps + {drag} value = drag factor added to barostat/thermostat (0.0 = no drag) + {dilate} value = {all} or {partial} + {scaleyz} value = {yes} or {no} = scale yz with lz + {scalexz} value = {yes} or {no} = scale xz with lz + {scalexy} value = {yes} or {no} = scale xy with ly :pre +:ule + +[Examples:] + +fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0 +fix myhug all nphug temp 1.0 1.0 10.0 iso 40.0 40.0 70.0 drag 200.0 tchain 1 pchain 0 + +[Description:] + +This command is a variant of the Nose-Hoover +"fix npt"_fix_nh.html fix style. +It performs time integration of the Hugoniostat equations +of motion developed by Ravelo et al. "(Ravelo)"_#Ravelo. +These equations compress the system to a state with average +axial stress or pressure equal to the specified target value +and that satisfies the Rankine-Hugoniot (RH) +jump conditions for steady shocks. + +The compression can be performed +either +hydrostatically (using keyword iso, aniso, or tri) or uniaxially +(using keywords x, y, or z). In the hydrostatic case, +the cell dimensions change dynamically so that the average axial stress +in all three directions converges towards the specified target value. +In the uniaxial case, the chosen cell dimension changes dynamically +so that the average +axial stress in that direction converges towards the target value. The +other two cell dimensions are kept fixed (zero lateral strain). + +This leads to the following additional restrictions on the keywords: + +One and only one of the following keywords should be used: iso, aniso, tri, x, y, z, + +The specified initial and final target pressures must be the same. + +The keywords xy, xz, yz may not be used. + +The only admissible value for the couple keyword is xyz, +which has the same effect as keyword iso + +The temp keyword must be used in order to specify the time constant for +kinetic energy relaxation, but initial and final target temperature values +are ignored. :ul + +Essentially, a Hugoniostat simulation is an NPT simulation in which the +user-specified target temperature is replaced with a time-dependent +target temperature Tt obtained from the following equation: + +Tt - T = (0.5*(P+P0)(V0-V)+E0-E)/(Ndof kB) = Delta + +where T and Tt are the instantaneous and target temperatures, +P and P0 are the instantaneous and reference pressure or axial stress, +depending on whether hydrostatic or uniaxial compression is being +performed, V and V0 are the instantaneous and reference volumes, +E and E0 are the instantaneous and reference internal energy (potential +plus kinetic), Ndof is the number of degrees of freedom used in the +definition of temperature, and kB is the Boltzmann constant. Delta is the +negative deviation of the instantaneous temperature from the target temperature. +The values of E0, V0, and P0 are the instantaneous values at the start of +the simulation. These can be overridden using the fix_modify keywords {e0}, +{v0}, and {p0} described below. + +:line + +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 be +used on atoms that have their temperature controlled by another fix +- e.g. by "fix langevin"_fix_nh.html or "fix temp/rescale"_fix_temp_rescale.html +commands. + +:line + +This fix compute a temperature and pressure each timestep. To do +this, the fix creates its own computes of style "temp" and "pressure", +as if one of these two sets of commands had been issued: + +compute fix-ID_temp group-ID temp +compute fix-ID_press group-ID pressure fix-ID_temp :pre + +compute fix-ID_temp all temp +compute fix-ID_press all 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". For fix nvt, the group for the new computes +is the same as the fix group. For fix nph and fix npt, the group for +the new computes is "all" since pressure is computed for the entire +system. + +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. + +:line + +[Restart, fix_modify, output, run start/stop, minimize info:] + +This fix writes the values of E0, V0, and P0, as well as the +state of all the thermostat and barostat +variables 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 {e0}, {v0} and {p0} keywords +can be used to define the values of these quantities. Note the +the values for {e0} and {v0} are extensive, and so must correspond +to the total energy and volume of the entire system, not energy and +volume per atom. If any of these quantities are not specified, then the +instanteous value in the system at the start of the simulation is used. + +The "fix_modify"_fix_modify.html {temp} and {press} options are +supported by these fixes. 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. + +The "fix_modify"_fix_modify.html {energy} option is supported by these +fixes 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. Either way, this energy is *not* +included in the definition of internal energy E when calculating the value +of Delta in the above equation. + +These fixes compute a global scalar and a global vector of quantities, +which can be accessed by various "output +commands"_Section_howto.html#howto_15. The scalar value calculated by +these fixes is "extensive"; the vector values are "intensive". + +The scalar is the cumulative energy change due to the fix. + +The vector stores three quantities unique to this fix (Delta, Us, and up), +followed by all the internal Nose/Hoover thermostat and barostat +variables defined for "fix_style npt"_fix_nh.html. Delta is the deviation +of the temperature from the target temperature, given by the above equation. +Us and up are the shock and particle velocity correspponding to a steady +shock calculated from the Rh conditions. They have units of distance/time. + +[Restrictions:] + +This fix style is part of the SHOCK package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. + +All the usual restrictions for "fix_style npt"_fix_nh.html apply, +plus the additional ones mentioned above. + +[Related commands:] + +"fix msst"_fix_msst.html, "fix npt"_fix_nh.html, "fix_modify"_fix_modify.html + +[Default:] + +The keyword defaults are the same as those for "fix npt"_fix_nh.html + +:line + +:link(Ravelo) +[(Ravelo)] Ravelo, Holian, Germann and Lomdahl, Phys Rev B, 70, 014103 (2004).