diff --git a/doc/Eqs/fix_nphug.jpg b/doc/Eqs/fix_nphug.jpg new file mode 100644 index 0000000000..beed5ed5c9 Binary files /dev/null and b/doc/Eqs/fix_nphug.jpg differ diff --git a/doc/Eqs/fix_nphug.tex b/doc/Eqs/fix_nphug.tex new file mode 100644 index 0000000000..4e162b69b7 --- /dev/null +++ b/doc/Eqs/fix_nphug.tex @@ -0,0 +1,9 @@ +\documentstyle[12pt]{article} + +\begin{document} + +$$ +T_t - T = \frac{\left(\frac{1}{2}\left(P + P_0\right)\left(V_0 - V\right) + E_0 - E\right)}{N_{dof} k_B } = Delta +$$ + +\end{document} diff --git a/doc/fix.txt b/doc/fix.txt index 23a478c496..428b377fa1 100644 --- a/doc/fix.txt +++ b/doc/fix.txt @@ -188,6 +188,7 @@ list of fix styles available in LAMMPS: "nph"_fix_nh.html - constant NPH time integration via Nose/Hoover "nph/asphere"_fix_nph_asphere.html - NPH for aspherical particles "nph/sphere"_fix_nph_sphere.html - NPH for spherical particles +"nphug"_fix_nphug.html - Constant-stress Hugoniostat integration "npt"_fix_nh.html - constant NPT time integration via Nose/Hoover "npt/asphere"_fix_npt_asphere.html - NPT for aspherical particles "npt/sphere"_fix_npt_sphere.html - NPT for spherical particles diff --git a/doc/fix_nphug.html b/doc/fix_nphug.html index e4ad3a3f2e..5d4b56cbce 100644 --- a/doc/fix_nphug.html +++ b/doc/fix_nphug.html @@ -45,9 +45,9 @@ keyword = temp or iso or aniso or tri or x or
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 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 @@ -61,8 +61,8 @@ 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, +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 @@ -72,34 +72,30 @@ 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, +P and P0 are the instantaneous and reference pressures or axial stresses, 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 +When the system reaches a stable equilibrium, the value of Delta should +fluctuate about zero. +
+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.
@@ -117,7 +113,7 @@ commands.This fix compute a temperature and pressure each timestep. To do +
This fix computes a temperature and pressure at 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:
@@ -130,8 +126,7 @@ compute fix-ID_press all pressure fix-ID_tempSee 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 ++ underscore + "press". The group for the new computes is "all" since pressure is computed for the entire system.
@@ -157,8 +152,8 @@ 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 +can be used to define the values of E0, V0, and P0. Note the +the values for e0 and p0 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. @@ -190,8 +185,8 @@ these fixes is "extensive"; the vector values are "intensive". 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. +Us and up are the shock and particle velocity corresponding to a steady +shock calculated from the RH conditions. They have units of distance/time.
Restrictions:
diff --git a/doc/fix_nphug.txt b/doc/fix_nphug.txt index 6bb5664302..6ac59d1e16 100644 --- a/doc/fix_nphug.txt +++ b/doc/fix_nphug.txt @@ -41,7 +41,7 @@ keyword = {temp} or {iso} or {aniso} or {tri} or {x} or {y} or {z} or {couple} o [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 +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 :pre [Description:] @@ -56,8 +56,8 @@ 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, +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 @@ -67,33 +67,29 @@ 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, - +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 +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 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 +:c,image(Eqs/fix_nphug.jpg) where T and Tt are the instantaneous and target temperatures, -P and P0 are the instantaneous and reference pressure or axial stress, +P and P0 are the instantaneous and reference pressures or axial stresses, 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. +When the system reaches a stable equilibrium, the value of Delta should +fluctuate about zero. + 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. @@ -112,7 +108,7 @@ commands. :line -This fix compute a temperature and pressure each timestep. To do +This fix computes a temperature and pressure at 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: @@ -125,8 +121,7 @@ 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 ++ underscore + "press". The group for the new computes is "all" since pressure is computed for the entire system. @@ -152,8 +147,8 @@ 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 +can be used to define the values of E0, V0, and P0. Note the +the values for {e0} and {p0} 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. @@ -185,8 +180,8 @@ 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. +Us and up are the shock and particle velocity corresponding to a steady +shock calculated from the RH conditions. They have units of distance/time. [Restrictions:]