mirror of https://github.com/lammps/lammps.git
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@15021 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
parent
1463cb2598
commit
59e44bf4bf
|
@ -618,13 +618,13 @@ This is indicated by additional letters in parenthesis: c = USER-CUDA,
|
||||||
g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.</p>
|
g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.</p>
|
||||||
<table border="1" class="docutils">
|
<table border="1" class="docutils">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
|
<col width="12%" />
|
||||||
<col width="15%" />
|
<col width="15%" />
|
||||||
<col width="13%" />
|
<col width="13%" />
|
||||||
<col width="11%" />
|
<col width="11%" />
|
||||||
<col width="12%" />
|
<col width="12%" />
|
||||||
<col width="11%" />
|
<col width="11%" />
|
||||||
<col width="16%" />
|
<col width="16%" />
|
||||||
<col width="11%" />
|
|
||||||
<col width="12%" />
|
<col width="12%" />
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<tbody valign="top">
|
<tbody valign="top">
|
||||||
|
@ -652,116 +652,116 @@ g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.</p>
|
||||||
<td><a class="reference internal" href="fix_drag.html"><span class="doc">drag</span></a></td>
|
<td><a class="reference internal" href="fix_drag.html"><span class="doc">drag</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_dt_reset.html"><span class="doc">dt/reset</span></a></td>
|
<td><a class="reference internal" href="fix_dt_reset.html"><span class="doc">dt/reset</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_efield.html"><span class="doc">efield</span></a></td>
|
<td><a class="reference internal" href="fix_efield.html"><span class="doc">efield</span></a></td>
|
||||||
|
<td><a class="reference internal" href="fix_ehex.html"><span class="doc">ehex</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_enforce2d.html"><span class="doc">enforce2d (c)</span></a></td>
|
<td><a class="reference internal" href="fix_enforce2d.html"><span class="doc">enforce2d (c)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_evaporate.html"><span class="doc">evaporate</span></a></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="row-even"><td><a class="reference internal" href="fix_external.html"><span class="doc">external</span></a></td>
|
<tr class="row-even"><td><a class="reference internal" href="fix_evaporate.html"><span class="doc">evaporate</span></a></td>
|
||||||
|
<td><a class="reference internal" href="fix_external.html"><span class="doc">external</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_freeze.html"><span class="doc">freeze (c)</span></a></td>
|
<td><a class="reference internal" href="fix_freeze.html"><span class="doc">freeze (c)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_gcmc.html"><span class="doc">gcmc</span></a></td>
|
<td><a class="reference internal" href="fix_gcmc.html"><span class="doc">gcmc</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_gld.html"><span class="doc">gld</span></a></td>
|
<td><a class="reference internal" href="fix_gld.html"><span class="doc">gld</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_gravity.html"><span class="doc">gravity (co)</span></a></td>
|
<td><a class="reference internal" href="fix_gravity.html"><span class="doc">gravity (co)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_heat.html"><span class="doc">heat</span></a></td>
|
<td><a class="reference internal" href="fix_heat.html"><span class="doc">heat</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_indent.html"><span class="doc">indent</span></a></td>
|
<td><a class="reference internal" href="fix_indent.html"><span class="doc">indent</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_langevin.html"><span class="doc">langevin (k)</span></a></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="row-odd"><td><a class="reference internal" href="fix_lineforce.html"><span class="doc">lineforce</span></a></td>
|
<tr class="row-odd"><td><a class="reference internal" href="fix_langevin.html"><span class="doc">langevin (k)</span></a></td>
|
||||||
|
<td><a class="reference internal" href="fix_lineforce.html"><span class="doc">lineforce</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_momentum.html"><span class="doc">momentum</span></a></td>
|
<td><a class="reference internal" href="fix_momentum.html"><span class="doc">momentum</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_move.html"><span class="doc">move</span></a></td>
|
<td><a class="reference internal" href="fix_move.html"><span class="doc">move</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_msst.html"><span class="doc">msst</span></a></td>
|
<td><a class="reference internal" href="fix_msst.html"><span class="doc">msst</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_neb.html"><span class="doc">neb</span></a></td>
|
<td><a class="reference internal" href="fix_neb.html"><span class="doc">neb</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_nh.html"><span class="doc">nph (ko)</span></a></td>
|
<td><a class="reference internal" href="fix_nh.html"><span class="doc">nph (ko)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_nphug.html"><span class="doc">nphug (o)</span></a></td>
|
<td><a class="reference internal" href="fix_nphug.html"><span class="doc">nphug (o)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_nph_asphere.html"><span class="doc">nph/asphere (o)</span></a></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="row-even"><td><a class="reference internal" href="fix_nph_body.html"><span class="doc">nph/body</span></a></td>
|
<tr class="row-even"><td><a class="reference internal" href="fix_nph_asphere.html"><span class="doc">nph/asphere (o)</span></a></td>
|
||||||
|
<td><a class="reference internal" href="fix_nph_body.html"><span class="doc">nph/body</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_nph_sphere.html"><span class="doc">nph/sphere (o)</span></a></td>
|
<td><a class="reference internal" href="fix_nph_sphere.html"><span class="doc">nph/sphere (o)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_nh.html"><span class="doc">npt (ckio)</span></a></td>
|
<td><a class="reference internal" href="fix_nh.html"><span class="doc">npt (ckio)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_npt_asphere.html"><span class="doc">npt/asphere (o)</span></a></td>
|
<td><a class="reference internal" href="fix_npt_asphere.html"><span class="doc">npt/asphere (o)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_npt_body.html"><span class="doc">npt/body</span></a></td>
|
<td><a class="reference internal" href="fix_npt_body.html"><span class="doc">npt/body</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_npt_sphere.html"><span class="doc">npt/sphere (o)</span></a></td>
|
<td><a class="reference internal" href="fix_npt_sphere.html"><span class="doc">npt/sphere (o)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_nve.html"><span class="doc">nve (ckio)</span></a></td>
|
<td><a class="reference internal" href="fix_nve.html"><span class="doc">nve (ckio)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_nve_asphere.html"><span class="doc">nve/asphere (i)</span></a></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="row-odd"><td><a class="reference internal" href="fix_nve_asphere_noforce.html"><span class="doc">nve/asphere/noforce</span></a></td>
|
<tr class="row-odd"><td><a class="reference internal" href="fix_nve_asphere.html"><span class="doc">nve/asphere (i)</span></a></td>
|
||||||
|
<td><a class="reference internal" href="fix_nve_asphere_noforce.html"><span class="doc">nve/asphere/noforce</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_nve_body.html"><span class="doc">nve/body</span></a></td>
|
<td><a class="reference internal" href="fix_nve_body.html"><span class="doc">nve/body</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_nve_limit.html"><span class="doc">nve/limit</span></a></td>
|
<td><a class="reference internal" href="fix_nve_limit.html"><span class="doc">nve/limit</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_nve_line.html"><span class="doc">nve/line</span></a></td>
|
<td><a class="reference internal" href="fix_nve_line.html"><span class="doc">nve/line</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_nve_noforce.html"><span class="doc">nve/noforce</span></a></td>
|
<td><a class="reference internal" href="fix_nve_noforce.html"><span class="doc">nve/noforce</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_nve_sphere.html"><span class="doc">nve/sphere (o)</span></a></td>
|
<td><a class="reference internal" href="fix_nve_sphere.html"><span class="doc">nve/sphere (o)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_nve_tri.html"><span class="doc">nve/tri</span></a></td>
|
<td><a class="reference internal" href="fix_nve_tri.html"><span class="doc">nve/tri</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_nh.html"><span class="doc">nvt (ciko)</span></a></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="row-even"><td><a class="reference internal" href="fix_nvt_asphere.html"><span class="doc">nvt/asphere (o)</span></a></td>
|
<tr class="row-even"><td><a class="reference internal" href="fix_nh.html"><span class="doc">nvt (ciko)</span></a></td>
|
||||||
|
<td><a class="reference internal" href="fix_nvt_asphere.html"><span class="doc">nvt/asphere (o)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_nvt_body.html"><span class="doc">nvt/body</span></a></td>
|
<td><a class="reference internal" href="fix_nvt_body.html"><span class="doc">nvt/body</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_nvt_sllod.html"><span class="doc">nvt/sllod (io)</span></a></td>
|
<td><a class="reference internal" href="fix_nvt_sllod.html"><span class="doc">nvt/sllod (io)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_nvt_sphere.html"><span class="doc">nvt/sphere (o)</span></a></td>
|
<td><a class="reference internal" href="fix_nvt_sphere.html"><span class="doc">nvt/sphere (o)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_oneway.html"><span class="doc">oneway</span></a></td>
|
<td><a class="reference internal" href="fix_oneway.html"><span class="doc">oneway</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_orient_fcc.html"><span class="doc">orient/fcc</span></a></td>
|
<td><a class="reference internal" href="fix_orient_fcc.html"><span class="doc">orient/fcc</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_planeforce.html"><span class="doc">planeforce</span></a></td>
|
<td><a class="reference internal" href="fix_planeforce.html"><span class="doc">planeforce</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_poems.html"><span class="doc">poems</span></a></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="row-odd"><td><a class="reference internal" href="fix_pour.html"><span class="doc">pour</span></a></td>
|
<tr class="row-odd"><td><a class="reference internal" href="fix_poems.html"><span class="doc">poems</span></a></td>
|
||||||
|
<td><a class="reference internal" href="fix_pour.html"><span class="doc">pour</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_press_berendsen.html"><span class="doc">press/berendsen</span></a></td>
|
<td><a class="reference internal" href="fix_press_berendsen.html"><span class="doc">press/berendsen</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_print.html"><span class="doc">print</span></a></td>
|
<td><a class="reference internal" href="fix_print.html"><span class="doc">print</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_property_atom.html"><span class="doc">property/atom</span></a></td>
|
<td><a class="reference internal" href="fix_property_atom.html"><span class="doc">property/atom</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_qeq_comb.html"><span class="doc">qeq/comb (o)</span></a></td>
|
<td><a class="reference internal" href="fix_qeq_comb.html"><span class="doc">qeq/comb (o)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_qeq.html"><span class="doc">qeq/dynamic</span></a></td>
|
<td><a class="reference internal" href="fix_qeq.html"><span class="doc">qeq/dynamic</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_qeq.html"><span class="doc">qeq/fire</span></a></td>
|
<td><a class="reference internal" href="fix_qeq.html"><span class="doc">qeq/fire</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_qeq.html"><span class="doc">qeq/point</span></a></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="row-even"><td><a class="reference internal" href="fix_qeq.html"><span class="doc">qeq/shielded</span></a></td>
|
<tr class="row-even"><td><a class="reference internal" href="fix_qeq.html"><span class="doc">qeq/point</span></a></td>
|
||||||
|
<td><a class="reference internal" href="fix_qeq.html"><span class="doc">qeq/shielded</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_qeq.html"><span class="doc">qeq/slater</span></a></td>
|
<td><a class="reference internal" href="fix_qeq.html"><span class="doc">qeq/slater</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_shake.html"><span class="doc">rattle</span></a></td>
|
<td><a class="reference internal" href="fix_shake.html"><span class="doc">rattle</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_reax_bonds.html"><span class="doc">reax/bonds</span></a></td>
|
<td><a class="reference internal" href="fix_reax_bonds.html"><span class="doc">reax/bonds</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_recenter.html"><span class="doc">recenter</span></a></td>
|
<td><a class="reference internal" href="fix_recenter.html"><span class="doc">recenter</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_restrain.html"><span class="doc">restrain</span></a></td>
|
<td><a class="reference internal" href="fix_restrain.html"><span class="doc">restrain</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid (o)</span></a></td>
|
<td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid (o)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid/nph (o)</span></a></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="row-odd"><td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid/npt (o)</span></a></td>
|
<tr class="row-odd"><td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid/nph (o)</span></a></td>
|
||||||
|
<td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid/npt (o)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid/nve (o)</span></a></td>
|
<td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid/nve (o)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid/nvt (o)</span></a></td>
|
<td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid/nvt (o)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid/small (o)</span></a></td>
|
<td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid/small (o)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid/small/nph</span></a></td>
|
<td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid/small/nph</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid/small/npt</span></a></td>
|
<td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid/small/npt</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid/small/nve</span></a></td>
|
<td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid/small/nve</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid/small/nvt</span></a></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="row-even"><td><a class="reference internal" href="fix_setforce.html"><span class="doc">setforce (ck)</span></a></td>
|
<tr class="row-even"><td><a class="reference internal" href="fix_rigid.html"><span class="doc">rigid/small/nvt</span></a></td>
|
||||||
|
<td><a class="reference internal" href="fix_setforce.html"><span class="doc">setforce (ck)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_shake.html"><span class="doc">shake (c)</span></a></td>
|
<td><a class="reference internal" href="fix_shake.html"><span class="doc">shake (c)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_spring.html"><span class="doc">spring</span></a></td>
|
<td><a class="reference internal" href="fix_spring.html"><span class="doc">spring</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_spring_rg.html"><span class="doc">spring/rg</span></a></td>
|
<td><a class="reference internal" href="fix_spring_rg.html"><span class="doc">spring/rg</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_spring_self.html"><span class="doc">spring/self</span></a></td>
|
<td><a class="reference internal" href="fix_spring_self.html"><span class="doc">spring/self</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_srd.html"><span class="doc">srd</span></a></td>
|
<td><a class="reference internal" href="fix_srd.html"><span class="doc">srd</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_store_force.html"><span class="doc">store/force</span></a></td>
|
<td><a class="reference internal" href="fix_store_force.html"><span class="doc">store/force</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_store_state.html"><span class="doc">store/state</span></a></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="row-odd"><td><a class="reference internal" href="fix_temp_berendsen.html"><span class="doc">temp/berendsen (c)</span></a></td>
|
<tr class="row-odd"><td><a class="reference internal" href="fix_store_state.html"><span class="doc">store/state</span></a></td>
|
||||||
|
<td><a class="reference internal" href="fix_temp_berendsen.html"><span class="doc">temp/berendsen (c)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_temp_csvr.html"><span class="doc">temp/csld</span></a></td>
|
<td><a class="reference internal" href="fix_temp_csvr.html"><span class="doc">temp/csld</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_temp_csvr.html"><span class="doc">temp/csvr</span></a></td>
|
<td><a class="reference internal" href="fix_temp_csvr.html"><span class="doc">temp/csvr</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_temp_rescale.html"><span class="doc">temp/rescale (c)</span></a></td>
|
<td><a class="reference internal" href="fix_temp_rescale.html"><span class="doc">temp/rescale (c)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_tfmc.html"><span class="doc">tfmc</span></a></td>
|
<td><a class="reference internal" href="fix_tfmc.html"><span class="doc">tfmc</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_thermal_conductivity.html"><span class="doc">thermal/conductivity</span></a></td>
|
<td><a class="reference internal" href="fix_thermal_conductivity.html"><span class="doc">thermal/conductivity</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_tmd.html"><span class="doc">tmd</span></a></td>
|
<td><a class="reference internal" href="fix_tmd.html"><span class="doc">tmd</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_ttm.html"><span class="doc">ttm</span></a></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="row-even"><td><a class="reference internal" href="fix_tune_kspace.html"><span class="doc">tune/kspace</span></a></td>
|
<tr class="row-even"><td><a class="reference internal" href="fix_ttm.html"><span class="doc">ttm</span></a></td>
|
||||||
|
<td><a class="reference internal" href="fix_tune_kspace.html"><span class="doc">tune/kspace</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_vector.html"><span class="doc">vector</span></a></td>
|
<td><a class="reference internal" href="fix_vector.html"><span class="doc">vector</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_viscosity.html"><span class="doc">viscosity</span></a></td>
|
<td><a class="reference internal" href="fix_viscosity.html"><span class="doc">viscosity</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_viscous.html"><span class="doc">viscous (c)</span></a></td>
|
<td><a class="reference internal" href="fix_viscous.html"><span class="doc">viscous (c)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_wall.html"><span class="doc">wall/colloid</span></a></td>
|
<td><a class="reference internal" href="fix_wall.html"><span class="doc">wall/colloid</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_wall_gran.html"><span class="doc">wall/gran</span></a></td>
|
<td><a class="reference internal" href="fix_wall_gran.html"><span class="doc">wall/gran</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_wall.html"><span class="doc">wall/harmonic</span></a></td>
|
<td><a class="reference internal" href="fix_wall.html"><span class="doc">wall/harmonic</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_wall.html"><span class="doc">wall/lj1043</span></a></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="row-odd"><td><a class="reference internal" href="fix_wall.html"><span class="doc">wall/lj126</span></a></td>
|
<tr class="row-odd"><td><a class="reference internal" href="fix_wall.html"><span class="doc">wall/lj1043</span></a></td>
|
||||||
|
<td><a class="reference internal" href="fix_wall.html"><span class="doc">wall/lj126</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_wall.html"><span class="doc">wall/lj93</span></a></td>
|
<td><a class="reference internal" href="fix_wall.html"><span class="doc">wall/lj93</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_wall_piston.html"><span class="doc">wall/piston</span></a></td>
|
<td><a class="reference internal" href="fix_wall_piston.html"><span class="doc">wall/piston</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_wall_reflect.html"><span class="doc">wall/reflect (k)</span></a></td>
|
<td><a class="reference internal" href="fix_wall_reflect.html"><span class="doc">wall/reflect (k)</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_wall_region.html"><span class="doc">wall/region</span></a></td>
|
<td><a class="reference internal" href="fix_wall_region.html"><span class="doc">wall/region</span></a></td>
|
||||||
<td><a class="reference internal" href="fix_wall_srd.html"><span class="doc">wall/srd</span></a></td>
|
<td><a class="reference internal" href="fix_wall_srd.html"><span class="doc">wall/srd</span></a></td>
|
||||||
<td> </td>
|
<td> </td>
|
||||||
<td> </td>
|
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -2001,15 +2001,17 @@ periodic box. By holding the two regions at different temperatures
|
||||||
with a <a class="reference internal" href="#howto-13"><span class="std std-ref">thermostatting fix</span></a>, the energy
|
with a <a class="reference internal" href="#howto-13"><span class="std std-ref">thermostatting fix</span></a>, the energy
|
||||||
added to the hot region should equal the energy subtracted from the
|
added to the hot region should equal the energy subtracted from the
|
||||||
cold region and be proportional to the heat flux moving between the
|
cold region and be proportional to the heat flux moving between the
|
||||||
regions. See the paper by <a class="reference internal" href="#ikeshoji"><span class="std std-ref">Ikeshoji and Hafskjold</span></a> for
|
regions. See the papers by <a class="reference internal" href="#howto-ikeshoji"><span class="std std-ref">Ikeshoji and Hafskjold</span></a>
|
||||||
details of this idea. Note that thermostatting fixes such as <a class="reference internal" href="fix_nh.html"><span class="doc">fix nvt</span></a>, <a class="reference internal" href="fix_langevin.html"><span class="doc">fix langevin</span></a>, and <a class="reference internal" href="fix_temp_rescale.html"><span class="doc">fix temp/rescale</span></a> store the cumulative energy they
|
and <a class="reference internal" href="#howto-wirnsberger"><span class="std std-ref">Wirnsberger et al</span></a> for details of this idea.
|
||||||
|
Note that thermostatting fixes such as <a class="reference internal" href="fix_nh.html"><span class="doc">fix nvt</span></a>, <a class="reference internal" href="fix_langevin.html"><span class="doc">fix langevin</span></a>, and <a class="reference internal" href="fix_temp_rescale.html"><span class="doc">fix temp/rescale</span></a> store the cumulative energy they
|
||||||
add/subtract.</p>
|
add/subtract.</p>
|
||||||
<p>Alternatively, as a second method, the <a class="reference internal" href="fix_heat.html"><span class="doc">fix heat</span></a>
|
<p>Alternatively, as a second method, the <a class="reference internal" href="fix_heat.html"><span class="doc">fix heat</span></a> or
|
||||||
command can used in place of thermostats on each of two regions to
|
<a class="reference internal" href="fix_ehex.html"><span class="doc">fix ehex</span></a> commands can be used in place of thermostats
|
||||||
add/subtract specified amounts of energy to both regions. In both
|
on each of two regions to add/subtract specified amounts of energy to
|
||||||
cases, the resulting temperatures of the two regions can be monitored
|
both regions. In both cases, the resulting temperatures of the two
|
||||||
with the “compute temp/region” command and the temperature profile of
|
regions can be monitored with the “compute temp/region” command and
|
||||||
the intermediate region can be monitored with the <a class="reference internal" href="fix_ave_spatial.html"><span class="doc">fix ave/spatial</span></a> and <a class="reference internal" href="compute_ke_atom.html"><span class="doc">compute ke/atom</span></a> commands.</p>
|
the temperature profile of the intermediate region can be monitored
|
||||||
|
with the <a class="reference internal" href="fix_ave_spatial.html"><span class="doc">fix ave/spatial</span></a> and <a class="reference internal" href="compute_ke_atom.html"><span class="doc">compute ke/atom</span></a> commands.</p>
|
||||||
<p>The third method is to perform a reverse non-equilibrium MD simulation
|
<p>The third method is to perform a reverse non-equilibrium MD simulation
|
||||||
using the <a class="reference internal" href="fix_thermal_conductivity.html"><span class="doc">fix thermal/conductivity</span></a>
|
using the <a class="reference internal" href="fix_thermal_conductivity.html"><span class="doc">fix thermal/conductivity</span></a>
|
||||||
command which implements the rNEMD algorithm of Muller-Plathe.
|
command which implements the rNEMD algorithm of Muller-Plathe.
|
||||||
|
@ -2782,8 +2784,10 @@ too close, which can cause numerical issues.</p>
|
||||||
Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).</p>
|
Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).</p>
|
||||||
<p id="horn"><strong>(Horn)</strong> Horn, Swope, Pitera, Madura, Dick, Hura, and Head-Gordon,
|
<p id="horn"><strong>(Horn)</strong> Horn, Swope, Pitera, Madura, Dick, Hura, and Head-Gordon,
|
||||||
J Chem Phys, 120, 9665 (2004).</p>
|
J Chem Phys, 120, 9665 (2004).</p>
|
||||||
<p id="ikeshoji"><strong>(Ikeshoji)</strong> Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261
|
<p id="howto-ikeshoji"><strong>(Ikeshoji)</strong> Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261
|
||||||
(1994).</p>
|
(1994).</p>
|
||||||
|
<p id="howto-wirnsberger"><strong>(Wirnsberger)</strong> Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143, 124104
|
||||||
|
(2015).</p>
|
||||||
<p id="howto-mackerell"><strong>(MacKerell)</strong> MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field,
|
<p id="howto-mackerell"><strong>(MacKerell)</strong> MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field,
|
||||||
Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).</p>
|
Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).</p>
|
||||||
<p id="howto-mayo"><strong>(Mayo)</strong> Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909
|
<p id="howto-mayo"><strong>(Mayo)</strong> Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909
|
||||||
|
|
|
@ -457,37 +457,37 @@ with the :doc:`appropriate accelerated package <Section_accelerate>`.
|
||||||
This is indicated by additional letters in parenthesis: c = USER-CUDA,
|
This is indicated by additional letters in parenthesis: c = USER-CUDA,
|
||||||
g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
|
g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
|
||||||
|
|
||||||
+------------------------------------------------------+----------------------------------------------+----------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+--------------------------------------+------------------------------------------+
|
+------------------------------------------+------------------------------------------------------+----------------------------------------------+---------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+------------------------------------------+
|
||||||
| :doc:`adapt <fix_adapt>` | :doc:`addforce (c) <fix_addforce>` | :doc:`append/atoms <fix_append_atoms>` | :doc:`atom/swap <fix_atom_swap>` | :doc:`aveforce (c) <fix_aveforce>` | :doc:`ave/atom <fix_ave_atom>` | :doc:`ave/chunk <fix_ave_chunk>` | :doc:`ave/correlate <fix_ave_correlate>` |
|
| :doc:`adapt <fix_adapt>` | :doc:`addforce (c) <fix_addforce>` | :doc:`append/atoms <fix_append_atoms>` | :doc:`atom/swap <fix_atom_swap>` | :doc:`aveforce (c) <fix_aveforce>` | :doc:`ave/atom <fix_ave_atom>` | :doc:`ave/chunk <fix_ave_chunk>` | :doc:`ave/correlate <fix_ave_correlate>` |
|
||||||
+------------------------------------------------------+----------------------------------------------+----------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+--------------------------------------+------------------------------------------+
|
+------------------------------------------+------------------------------------------------------+----------------------------------------------+---------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+------------------------------------------+
|
||||||
| :doc:`ave/histo <fix_ave_histo>` | :doc:`ave/histo/weight <fix_ave_histo>` | :doc:`ave/spatial <fix_ave_spatial>` | :doc:`ave/time <fix_ave_time>` | :doc:`balance <fix_balance>` | :doc:`bond/break <fix_bond_break>` | :doc:`bond/create <fix_bond_create>` | :doc:`bond/swap <fix_bond_swap>` |
|
| :doc:`ave/histo <fix_ave_histo>` | :doc:`ave/histo/weight <fix_ave_histo>` | :doc:`ave/spatial <fix_ave_spatial>` | :doc:`ave/time <fix_ave_time>` | :doc:`balance <fix_balance>` | :doc:`bond/break <fix_bond_break>` | :doc:`bond/create <fix_bond_create>` | :doc:`bond/swap <fix_bond_swap>` |
|
||||||
+------------------------------------------------------+----------------------------------------------+----------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+--------------------------------------+------------------------------------------+
|
+------------------------------------------+------------------------------------------------------+----------------------------------------------+---------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+------------------------------------------+
|
||||||
| :doc:`box/relax <fix_box_relax>` | :doc:`deform (k) <fix_deform>` | :doc:`deposit <fix_deposit>` | :doc:`drag <fix_drag>` | :doc:`dt/reset <fix_dt_reset>` | :doc:`efield <fix_efield>` | :doc:`enforce2d (c) <fix_enforce2d>` | :doc:`evaporate <fix_evaporate>` |
|
| :doc:`box/relax <fix_box_relax>` | :doc:`deform (k) <fix_deform>` | :doc:`deposit <fix_deposit>` | :doc:`drag <fix_drag>` | :doc:`dt/reset <fix_dt_reset>` | :doc:`efield <fix_efield>` | :doc:`ehex <fix_ehex>` | :doc:`enforce2d (c) <fix_enforce2d>` |
|
||||||
+------------------------------------------------------+----------------------------------------------+----------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+--------------------------------------+------------------------------------------+
|
+------------------------------------------+------------------------------------------------------+----------------------------------------------+---------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+------------------------------------------+
|
||||||
| :doc:`external <fix_external>` | :doc:`freeze (c) <fix_freeze>` | :doc:`gcmc <fix_gcmc>` | :doc:`gld <fix_gld>` | :doc:`gravity (co) <fix_gravity>` | :doc:`heat <fix_heat>` | :doc:`indent <fix_indent>` | :doc:`langevin (k) <fix_langevin>` |
|
| :doc:`evaporate <fix_evaporate>` | :doc:`external <fix_external>` | :doc:`freeze (c) <fix_freeze>` | :doc:`gcmc <fix_gcmc>` | :doc:`gld <fix_gld>` | :doc:`gravity (co) <fix_gravity>` | :doc:`heat <fix_heat>` | :doc:`indent <fix_indent>` |
|
||||||
+------------------------------------------------------+----------------------------------------------+----------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+--------------------------------------+------------------------------------------+
|
+------------------------------------------+------------------------------------------------------+----------------------------------------------+---------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+------------------------------------------+
|
||||||
| :doc:`lineforce <fix_lineforce>` | :doc:`momentum <fix_momentum>` | :doc:`move <fix_move>` | :doc:`msst <fix_msst>` | :doc:`neb <fix_neb>` | :doc:`nph (ko) <fix_nh>` | :doc:`nphug (o) <fix_nphug>` | :doc:`nph/asphere (o) <fix_nph_asphere>` |
|
| :doc:`langevin (k) <fix_langevin>` | :doc:`lineforce <fix_lineforce>` | :doc:`momentum <fix_momentum>` | :doc:`move <fix_move>` | :doc:`msst <fix_msst>` | :doc:`neb <fix_neb>` | :doc:`nph (ko) <fix_nh>` | :doc:`nphug (o) <fix_nphug>` |
|
||||||
+------------------------------------------------------+----------------------------------------------+----------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+--------------------------------------+------------------------------------------+
|
+------------------------------------------+------------------------------------------------------+----------------------------------------------+---------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+------------------------------------------+
|
||||||
| :doc:`nph/body <fix_nph_body>` | :doc:`nph/sphere (o) <fix_nph_sphere>` | :doc:`npt (ckio) <fix_nh>` | :doc:`npt/asphere (o) <fix_npt_asphere>` | :doc:`npt/body <fix_npt_body>` | :doc:`npt/sphere (o) <fix_npt_sphere>` | :doc:`nve (ckio) <fix_nve>` | :doc:`nve/asphere (i) <fix_nve_asphere>` |
|
| :doc:`nph/asphere (o) <fix_nph_asphere>` | :doc:`nph/body <fix_nph_body>` | :doc:`nph/sphere (o) <fix_nph_sphere>` | :doc:`npt (ckio) <fix_nh>` | :doc:`npt/asphere (o) <fix_npt_asphere>` | :doc:`npt/body <fix_npt_body>` | :doc:`npt/sphere (o) <fix_npt_sphere>` | :doc:`nve (ckio) <fix_nve>` |
|
||||||
+------------------------------------------------------+----------------------------------------------+----------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+--------------------------------------+------------------------------------------+
|
+------------------------------------------+------------------------------------------------------+----------------------------------------------+---------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+------------------------------------------+
|
||||||
| :doc:`nve/asphere/noforce <fix_nve_asphere_noforce>` | :doc:`nve/body <fix_nve_body>` | :doc:`nve/limit <fix_nve_limit>` | :doc:`nve/line <fix_nve_line>` | :doc:`nve/noforce <fix_nve_noforce>` | :doc:`nve/sphere (o) <fix_nve_sphere>` | :doc:`nve/tri <fix_nve_tri>` | :doc:`nvt (ciko) <fix_nh>` |
|
| :doc:`nve/asphere (i) <fix_nve_asphere>` | :doc:`nve/asphere/noforce <fix_nve_asphere_noforce>` | :doc:`nve/body <fix_nve_body>` | :doc:`nve/limit <fix_nve_limit>` | :doc:`nve/line <fix_nve_line>` | :doc:`nve/noforce <fix_nve_noforce>` | :doc:`nve/sphere (o) <fix_nve_sphere>` | :doc:`nve/tri <fix_nve_tri>` |
|
||||||
+------------------------------------------------------+----------------------------------------------+----------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+--------------------------------------+------------------------------------------+
|
+------------------------------------------+------------------------------------------------------+----------------------------------------------+---------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+------------------------------------------+
|
||||||
| :doc:`nvt/asphere (o) <fix_nvt_asphere>` | :doc:`nvt/body <fix_nvt_body>` | :doc:`nvt/sllod (io) <fix_nvt_sllod>` | :doc:`nvt/sphere (o) <fix_nvt_sphere>` | :doc:`oneway <fix_oneway>` | :doc:`orient/fcc <fix_orient_fcc>` | :doc:`planeforce <fix_planeforce>` | :doc:`poems <fix_poems>` |
|
| :doc:`nvt (ciko) <fix_nh>` | :doc:`nvt/asphere (o) <fix_nvt_asphere>` | :doc:`nvt/body <fix_nvt_body>` | :doc:`nvt/sllod (io) <fix_nvt_sllod>` | :doc:`nvt/sphere (o) <fix_nvt_sphere>` | :doc:`oneway <fix_oneway>` | :doc:`orient/fcc <fix_orient_fcc>` | :doc:`planeforce <fix_planeforce>` |
|
||||||
+------------------------------------------------------+----------------------------------------------+----------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+--------------------------------------+------------------------------------------+
|
+------------------------------------------+------------------------------------------------------+----------------------------------------------+---------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+------------------------------------------+
|
||||||
| :doc:`pour <fix_pour>` | :doc:`press/berendsen <fix_press_berendsen>` | :doc:`print <fix_print>` | :doc:`property/atom <fix_property_atom>` | :doc:`qeq/comb (o) <fix_qeq_comb>` | :doc:`qeq/dynamic <fix_qeq>` | :doc:`qeq/fire <fix_qeq>` | :doc:`qeq/point <fix_qeq>` |
|
| :doc:`poems <fix_poems>` | :doc:`pour <fix_pour>` | :doc:`press/berendsen <fix_press_berendsen>` | :doc:`print <fix_print>` | :doc:`property/atom <fix_property_atom>` | :doc:`qeq/comb (o) <fix_qeq_comb>` | :doc:`qeq/dynamic <fix_qeq>` | :doc:`qeq/fire <fix_qeq>` |
|
||||||
+------------------------------------------------------+----------------------------------------------+----------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+--------------------------------------+------------------------------------------+
|
+------------------------------------------+------------------------------------------------------+----------------------------------------------+---------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+------------------------------------------+
|
||||||
| :doc:`qeq/shielded <fix_qeq>` | :doc:`qeq/slater <fix_qeq>` | :doc:`rattle <fix_shake>` | :doc:`reax/bonds <fix_reax_bonds>` | :doc:`recenter <fix_recenter>` | :doc:`restrain <fix_restrain>` | :doc:`rigid (o) <fix_rigid>` | :doc:`rigid/nph (o) <fix_rigid>` |
|
| :doc:`qeq/point <fix_qeq>` | :doc:`qeq/shielded <fix_qeq>` | :doc:`qeq/slater <fix_qeq>` | :doc:`rattle <fix_shake>` | :doc:`reax/bonds <fix_reax_bonds>` | :doc:`recenter <fix_recenter>` | :doc:`restrain <fix_restrain>` | :doc:`rigid (o) <fix_rigid>` |
|
||||||
+------------------------------------------------------+----------------------------------------------+----------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+--------------------------------------+------------------------------------------+
|
+------------------------------------------+------------------------------------------------------+----------------------------------------------+---------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+------------------------------------------+
|
||||||
| :doc:`rigid/npt (o) <fix_rigid>` | :doc:`rigid/nve (o) <fix_rigid>` | :doc:`rigid/nvt (o) <fix_rigid>` | :doc:`rigid/small (o) <fix_rigid>` | :doc:`rigid/small/nph <fix_rigid>` | :doc:`rigid/small/npt <fix_rigid>` | :doc:`rigid/small/nve <fix_rigid>` | :doc:`rigid/small/nvt <fix_rigid>` |
|
| :doc:`rigid/nph (o) <fix_rigid>` | :doc:`rigid/npt (o) <fix_rigid>` | :doc:`rigid/nve (o) <fix_rigid>` | :doc:`rigid/nvt (o) <fix_rigid>` | :doc:`rigid/small (o) <fix_rigid>` | :doc:`rigid/small/nph <fix_rigid>` | :doc:`rigid/small/npt <fix_rigid>` | :doc:`rigid/small/nve <fix_rigid>` |
|
||||||
+------------------------------------------------------+----------------------------------------------+----------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+--------------------------------------+------------------------------------------+
|
+------------------------------------------+------------------------------------------------------+----------------------------------------------+---------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+------------------------------------------+
|
||||||
| :doc:`setforce (ck) <fix_setforce>` | :doc:`shake (c) <fix_shake>` | :doc:`spring <fix_spring>` | :doc:`spring/rg <fix_spring_rg>` | :doc:`spring/self <fix_spring_self>` | :doc:`srd <fix_srd>` | :doc:`store/force <fix_store_force>` | :doc:`store/state <fix_store_state>` |
|
| :doc:`rigid/small/nvt <fix_rigid>` | :doc:`setforce (ck) <fix_setforce>` | :doc:`shake (c) <fix_shake>` | :doc:`spring <fix_spring>` | :doc:`spring/rg <fix_spring_rg>` | :doc:`spring/self <fix_spring_self>` | :doc:`srd <fix_srd>` | :doc:`store/force <fix_store_force>` |
|
||||||
+------------------------------------------------------+----------------------------------------------+----------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+--------------------------------------+------------------------------------------+
|
+------------------------------------------+------------------------------------------------------+----------------------------------------------+---------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+------------------------------------------+
|
||||||
| :doc:`temp/berendsen (c) <fix_temp_berendsen>` | :doc:`temp/csld <fix_temp_csvr>` | :doc:`temp/csvr <fix_temp_csvr>` | :doc:`temp/rescale (c) <fix_temp_rescale>` | :doc:`tfmc <fix_tfmc>` | :doc:`thermal/conductivity <fix_thermal_conductivity>` | :doc:`tmd <fix_tmd>` | :doc:`ttm <fix_ttm>` |
|
| :doc:`store/state <fix_store_state>` | :doc:`temp/berendsen (c) <fix_temp_berendsen>` | :doc:`temp/csld <fix_temp_csvr>` | :doc:`temp/csvr <fix_temp_csvr>` | :doc:`temp/rescale (c) <fix_temp_rescale>` | :doc:`tfmc <fix_tfmc>` | :doc:`thermal/conductivity <fix_thermal_conductivity>` | :doc:`tmd <fix_tmd>` |
|
||||||
+------------------------------------------------------+----------------------------------------------+----------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+--------------------------------------+------------------------------------------+
|
+------------------------------------------+------------------------------------------------------+----------------------------------------------+---------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+------------------------------------------+
|
||||||
| :doc:`tune/kspace <fix_tune_kspace>` | :doc:`vector <fix_vector>` | :doc:`viscosity <fix_viscosity>` | :doc:`viscous (c) <fix_viscous>` | :doc:`wall/colloid <fix_wall>` | :doc:`wall/gran <fix_wall_gran>` | :doc:`wall/harmonic <fix_wall>` | :doc:`wall/lj1043 <fix_wall>` |
|
| :doc:`ttm <fix_ttm>` | :doc:`tune/kspace <fix_tune_kspace>` | :doc:`vector <fix_vector>` | :doc:`viscosity <fix_viscosity>` | :doc:`viscous (c) <fix_viscous>` | :doc:`wall/colloid <fix_wall>` | :doc:`wall/gran <fix_wall_gran>` | :doc:`wall/harmonic <fix_wall>` |
|
||||||
+------------------------------------------------------+----------------------------------------------+----------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+--------------------------------------+------------------------------------------+
|
+------------------------------------------+------------------------------------------------------+----------------------------------------------+---------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+------------------------------------------+
|
||||||
| :doc:`wall/lj126 <fix_wall>` | :doc:`wall/lj93 <fix_wall>` | :doc:`wall/piston <fix_wall_piston>` | :doc:`wall/reflect (k) <fix_wall_reflect>` | :doc:`wall/region <fix_wall_region>` | :doc:`wall/srd <fix_wall_srd>` | | |
|
| :doc:`wall/lj1043 <fix_wall>` | :doc:`wall/lj126 <fix_wall>` | :doc:`wall/lj93 <fix_wall>` | :doc:`wall/piston <fix_wall_piston>` | :doc:`wall/reflect (k) <fix_wall_reflect>` | :doc:`wall/region <fix_wall_region>` | :doc:`wall/srd <fix_wall_srd>` | |
|
||||||
+------------------------------------------------------+----------------------------------------------+----------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+--------------------------------------+------------------------------------------+
|
+------------------------------------------+------------------------------------------------------+----------------------------------------------+---------------------------------------+--------------------------------------------+--------------------------------------+--------------------------------------------------------+------------------------------------------+
|
||||||
|
|
||||||
These are additional fix styles in USER packages, which can be used if
|
These are additional fix styles in USER packages, which can be used if
|
||||||
:ref:`LAMMPS is built with the appropriate package <start_3>`.
|
:ref:`LAMMPS is built with the appropriate package <start_3>`.
|
||||||
|
|
|
@ -2139,16 +2139,18 @@ periodic box. By holding the two regions at different temperatures
|
||||||
with a :ref:`thermostatting fix <howto_13>`, the energy
|
with a :ref:`thermostatting fix <howto_13>`, the energy
|
||||||
added to the hot region should equal the energy subtracted from the
|
added to the hot region should equal the energy subtracted from the
|
||||||
cold region and be proportional to the heat flux moving between the
|
cold region and be proportional to the heat flux moving between the
|
||||||
regions. See the paper by :ref:`Ikeshoji and Hafskjold <Ikeshoji>` for
|
regions. See the papers by :ref:`Ikeshoji and Hafskjold <howto-Ikeshoji>`
|
||||||
details of this idea. Note that thermostatting fixes such as :doc:`fix nvt <fix_nh>`, :doc:`fix langevin <fix_langevin>`, and :doc:`fix temp/rescale <fix_temp_rescale>` store the cumulative energy they
|
and :ref:`Wirnsberger et al <howto-Wirnsberger>` for details of this idea.
|
||||||
|
Note that thermostatting fixes such as :doc:`fix nvt <fix_nh>`, :doc:`fix langevin <fix_langevin>`, and :doc:`fix temp/rescale <fix_temp_rescale>` store the cumulative energy they
|
||||||
add/subtract.
|
add/subtract.
|
||||||
|
|
||||||
Alternatively, as a second method, the :doc:`fix heat <fix_heat>`
|
Alternatively, as a second method, the :doc:`fix heat <fix_heat>` or
|
||||||
command can used in place of thermostats on each of two regions to
|
:doc:`fix ehex <fix_ehex>` commands can be used in place of thermostats
|
||||||
add/subtract specified amounts of energy to both regions. In both
|
on each of two regions to add/subtract specified amounts of energy to
|
||||||
cases, the resulting temperatures of the two regions can be monitored
|
both regions. In both cases, the resulting temperatures of the two
|
||||||
with the "compute temp/region" command and the temperature profile of
|
regions can be monitored with the "compute temp/region" command and
|
||||||
the intermediate region can be monitored with the :doc:`fix ave/spatial <fix_ave_spatial>` and :doc:`compute ke/atom <compute_ke_atom>` commands.
|
the temperature profile of the intermediate region can be monitored
|
||||||
|
with the :doc:`fix ave/spatial <fix_ave_spatial>` and :doc:`compute ke/atom <compute_ke_atom>` commands.
|
||||||
|
|
||||||
The third method is to perform a reverse non-equilibrium MD simulation
|
The third method is to perform a reverse non-equilibrium MD simulation
|
||||||
using the :doc:`fix thermal/conductivity <fix_thermal_conductivity>`
|
using the :doc:`fix thermal/conductivity <fix_thermal_conductivity>`
|
||||||
|
@ -3051,13 +3053,20 @@ Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).
|
||||||
**(Horn)** Horn, Swope, Pitera, Madura, Dick, Hura, and Head-Gordon,
|
**(Horn)** Horn, Swope, Pitera, Madura, Dick, Hura, and Head-Gordon,
|
||||||
J Chem Phys, 120, 9665 (2004).
|
J Chem Phys, 120, 9665 (2004).
|
||||||
|
|
||||||
.. _Ikeshoji:
|
.. _howto-Ikeshoji:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**(Ikeshoji)** Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261
|
**(Ikeshoji)** Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261
|
||||||
(1994).
|
(1994).
|
||||||
|
|
||||||
|
.. _howto-Wirnsberger:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
**(Wirnsberger)** Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143, 124104
|
||||||
|
(2015).
|
||||||
|
|
||||||
.. _howto-MacKerell:
|
.. _howto-MacKerell:
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,248 @@
|
||||||
|
.. index:: fix ehex
|
||||||
|
|
||||||
|
fix ehex command
|
||||||
|
================
|
||||||
|
|
||||||
|
Syntax
|
||||||
|
""""""
|
||||||
|
|
||||||
|
.. parsed-literal::
|
||||||
|
|
||||||
|
fix ID group-ID ehex nevery F keyword value
|
||||||
|
|
||||||
|
* ID, group-ID are documented in :doc:`fix <fix>` command
|
||||||
|
* ehex = style name of this fix command
|
||||||
|
* nevery = add/subtract heat every this many timesteps
|
||||||
|
* F = energy flux into the reservoir (energy/time units)
|
||||||
|
* zero or more keyword/value pairs may be appended to args
|
||||||
|
* keyword = *region* or *constrain* or *com* or *hex*
|
||||||
|
.. parsed-literal::
|
||||||
|
|
||||||
|
*region* value = region-ID
|
||||||
|
region-ID = ID of region (reservoir) atoms must be in for added thermostatting force
|
||||||
|
*constrain* value = none
|
||||||
|
apply the constraint algorithm (SHAKE or RATTLE) again at the end of the timestep
|
||||||
|
*com* value = none
|
||||||
|
rescale all sites of a constrained cluster of atom if its COM is in the reservoir
|
||||||
|
*hex* value = none
|
||||||
|
omit the coordinate correction to recover the HEX algorithm
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Examples
|
||||||
|
""""""""
|
||||||
|
|
||||||
|
.. parsed-literal::
|
||||||
|
|
||||||
|
# Lennard-Jones, from examples/in.ehex.lj
|
||||||
|
|
||||||
|
.. parsed-literal::
|
||||||
|
|
||||||
|
fix fnve all nve
|
||||||
|
# specify regions rhot and rcold
|
||||||
|
...
|
||||||
|
fix fhot all ehex 1 0.15 region rhot
|
||||||
|
fix fcold all ehex 1 -0.15 region rcold
|
||||||
|
|
||||||
|
.. parsed-literal::
|
||||||
|
|
||||||
|
# SPC/E water, from examples/in.ehex.spce
|
||||||
|
fix fnve all nve
|
||||||
|
# specify regions rhot and rcold
|
||||||
|
...
|
||||||
|
fix fhot all ehex 1 0.075 region rhot constrain com
|
||||||
|
fix fcold all ehex 1 -0.075 region rcold constrain com
|
||||||
|
fix frattle all rattle 1e-10 400 0 b 1 a 1
|
||||||
|
|
||||||
|
Description
|
||||||
|
"""""""""""
|
||||||
|
|
||||||
|
This fix implements the asymmetric version of the enhanced heat
|
||||||
|
exchange algorithm :ref:`(Wirnsberger) <Wirnsberger>`. The eHEX algorithm is
|
||||||
|
an extension of the heat exchange algorithm :ref:`(Ikeshoji) <Ikeshoji>` and
|
||||||
|
adds an additional coordinate integration to account for higher-order
|
||||||
|
truncation terms in the operator splitting. The original HEX
|
||||||
|
algorithm (implemented as :doc:`fix heat <fix_heat>`) is known to
|
||||||
|
exhibit a slight energy drift limiting the accessible simulation times
|
||||||
|
to a few nanoseconds. This issue is greatly improved by the new
|
||||||
|
algorithm decreasing the energy drift by at least a factor of a
|
||||||
|
hundred (LJ and SPC/E water) with little computational overhead.
|
||||||
|
|
||||||
|
In both algorithms (non-translational) kinetic energy is constantly
|
||||||
|
swapped between regions (reservoirs) to impose a heat flux onto the
|
||||||
|
system. The equations of motion are therefore modified if a particle
|
||||||
|
*i* is located inside a reservoir
|
||||||
|
|
||||||
|
.. image:: Eqs/fix_ehex01.jpg
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
where
|
||||||
|
|
||||||
|
.. image:: Eqs/fix_ehex02.jpg
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
We use
|
||||||
|
|
||||||
|
.. image:: Eqs/fix_ehex03.jpg
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
to label those parts of the simulation box which are not
|
||||||
|
thermostatted.) The input parameter *region-ID* of this fix
|
||||||
|
corresponds to *k*\ . The energy swap is modelled by introducing an
|
||||||
|
additional thermostatting force to the equations of motion, such that
|
||||||
|
the time evolution of coordinates and momenta of particle *i* becomes
|
||||||
|
:ref:`(Wirnsberger) <Wirnsberger>`
|
||||||
|
|
||||||
|
.. image:: Eqs/fix_ehex04.jpg
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
The thermostatting force is given by
|
||||||
|
|
||||||
|
.. image:: Eqs/fix_ehex05.jpg
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
where
|
||||||
|
|
||||||
|
.. image:: Eqs/fix_ehex06.jpg
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
is the mass and
|
||||||
|
|
||||||
|
.. image:: Eqs/fix_ehex07.jpg
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
maps the particle position to the respective reservoir. The quantity
|
||||||
|
|
||||||
|
.. image:: Eqs/fix_ehex08.jpg
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
corresponds to the input parameter *F*\ , which is the energy flux into
|
||||||
|
the reservoir. Furthermore,
|
||||||
|
|
||||||
|
.. image:: Eqs/fix_ehex09.jpg
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
and
|
||||||
|
|
||||||
|
.. image:: Eqs/fix_ehex10.jpg
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
denote the non-translational kinetic
|
||||||
|
energy and the centre of mass velocity of that reservoir. The
|
||||||
|
thermostatting force does not affect the centre of mass velocities of
|
||||||
|
the individual reservoirs and the entire simulation box. A derivation
|
||||||
|
of the equations and details on the numerical implementation with
|
||||||
|
velocity Verlet in LAMMPS can be found in reference
|
||||||
|
"(Wirnsberger)"#_Wirnsberger.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
This fix only integrates the thermostatting force and must be
|
||||||
|
combined with another integrator, such as :doc:`fix nve <fix_nve>`, to
|
||||||
|
solve the full equations of motion.
|
||||||
|
|
||||||
|
This fix is different from a thermostat such as :doc:`fix nvt <fix_nh>`
|
||||||
|
or :doc:`fix temp/rescale <fix_temp_rescale>` in that energy is
|
||||||
|
added/subtracted continually. Thus if there isn't another mechanism
|
||||||
|
in place to counterbalance this effect, the entire system will heat or
|
||||||
|
cool continuously.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
If heat is subtracted from the system too aggressively so that
|
||||||
|
the group's kinetic energy would go to zero, then LAMMPS will halt
|
||||||
|
with an error message. Increasing the value of *nevery* means that
|
||||||
|
heat is added/subtracted less frequently but in larger portions. The
|
||||||
|
resulting temperature profile will therefore be the same.
|
||||||
|
|
||||||
|
This fix will default to :doc:`fix_heat <fix_heat>` (HEX algorithm) if
|
||||||
|
the keyword *hex* is specified.
|
||||||
|
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
|
||||||
|
**Compatibility with SHAKE and RATTLE (rigid molecules)**\ :
|
||||||
|
|
||||||
|
This fix is compatible with :doc:`fix shake <fix_shake>` and :doc:`fix rattle <fix_rattle>`. If either of these constraining algorithms is
|
||||||
|
specified in the input script and the keyword *constrain* is set, the
|
||||||
|
bond distances will be corrected a second time at the end of the
|
||||||
|
integration step. It is recommended to specify the keyword *com* in
|
||||||
|
addition to the keyword *constrain*\ . With this option all sites of a
|
||||||
|
constrained cluster are rescaled, if its centre of mass is located
|
||||||
|
inside the region. Rescaling all sites of a cluster by the same factor
|
||||||
|
does not introduce any velocity components along fixed bonds. No
|
||||||
|
rescaling takes place if the centre of mass lies outside the region.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
You can only use the keyword *com* along with *constrain*\ .
|
||||||
|
|
||||||
|
To achieve the highest accuracy it is recommended to use :doc:`fix rattle <fix_rattle>` with the keywords *constrain* and *com* as
|
||||||
|
shown in the second example. Only if RATTLE is employed, the velocity
|
||||||
|
constraints will be satisfied.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Even if RATTLE is used and the keywords *com* and *constrain*
|
||||||
|
are both set, the coordinate constraints will not necessarily be
|
||||||
|
satisfied up to the target precision. The velocity constraints are
|
||||||
|
satisfied as long as all sites of a cluster are rescaled (keyyword
|
||||||
|
*com*\ ) and the cluster does not span adjacent reservoirs. The current
|
||||||
|
implementation of the eHEX algorithm introduces a small error in the
|
||||||
|
bond distances, which goes to zero with order three in the
|
||||||
|
timestep. For example, in a simulation of SPC/E water with a timestep
|
||||||
|
of 2 fs the maximum relative error in the bond distances was found to
|
||||||
|
be on the order of :c,image(Eqs/fix_ehex07.jpg) for relatively large
|
||||||
|
temperature gradients. A higher precision can be achieved by
|
||||||
|
decreasing the timestep.
|
||||||
|
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
|
||||||
|
Restart, fix_modify, output, run start/stop, minimize info
|
||||||
|
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
|
No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options
|
||||||
|
are relevant to this fix.
|
||||||
|
|
||||||
|
No parameter of this fix can be used with the *start/stop* keywords of
|
||||||
|
the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`.
|
||||||
|
|
||||||
|
Restrictions
|
||||||
|
""""""""""""
|
||||||
|
|
||||||
|
|
||||||
|
This fix is part of the RIGID package. It is only enabled if LAMMPS
|
||||||
|
was built with that package. See the :ref:`Making LAMMPS <start_3>` section for more info.
|
||||||
|
|
||||||
|
Related commands
|
||||||
|
""""""""""""""""
|
||||||
|
|
||||||
|
:doc:`fix heat <fix_heat>`, :doc:`fix thermal/conductivity <fix_thermal_conductivity>`,
|
||||||
|
:doc:`compute temp <compute_temp>`, :doc:`compute temp/region <compute_temp_region>`
|
||||||
|
|
||||||
|
**Default:** none
|
||||||
|
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
|
||||||
|
.. _Ikeshoji:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
**(Ikeshoji)** Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 (1994).
|
||||||
|
|
||||||
|
.. _Wirnsberger:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
**(Wirnsberger)** Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143,
|
||||||
|
124104 (2015).
|
||||||
|
|
||||||
|
|
||||||
|
.. _lws: http://lammps.sandia.gov
|
||||||
|
.. _ld: Manual.html
|
||||||
|
.. _lc: Section_commands.html#comm
|
|
@ -59,6 +59,13 @@ number of atoms in the group. Note that since *eflux* has per-time
|
||||||
units (i.e. it is a flux), this means that a larger value of N will
|
units (i.e. it is a flux), this means that a larger value of N will
|
||||||
add/subtract a larger amount of energy each time the fix is invoked.
|
add/subtract a larger amount of energy each time the fix is invoked.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
The heat-exchange (HEX) algorithm implemented by this fix is
|
||||||
|
known to exhibit a pronounced energy drift. An improved algorithm
|
||||||
|
(eHEX) is available as a :doc:`fix ehex <fix_ehex>` command and might be
|
||||||
|
preferable if energy conservation is important.
|
||||||
|
|
||||||
If *eflux* is specified as an atom-style variable (see below), then
|
If *eflux* is specified as an atom-style variable (see below), then
|
||||||
the variable computes one value per atom. In this case, each value is
|
the variable computes one value per atom. In this case, each value is
|
||||||
the energy flux for a single atom, again in units of energy per unit
|
the energy flux for a single atom, again in units of energy per unit
|
||||||
|
@ -126,7 +133,7 @@ Restrictions
|
||||||
Related commands
|
Related commands
|
||||||
""""""""""""""""
|
""""""""""""""""
|
||||||
|
|
||||||
:doc:`compute temp <compute_temp>`, :doc:`compute temp/region <compute_temp_region>`
|
:doc:`fix ehex <fix_ehex>`, :doc:`compute temp <compute_temp>`, :doc:`compute temp/region <compute_temp_region>`
|
||||||
|
|
||||||
**Default:** none
|
**Default:** none
|
||||||
|
|
||||||
|
|
|
@ -154,6 +154,7 @@ bewteen solvent particles.
|
||||||
Related commands
|
Related commands
|
||||||
""""""""""""""""
|
""""""""""""""""
|
||||||
|
|
||||||
|
:doc:`fix ehex <fix_ehex>`, :doc:`fix heat <fix_heat>`,
|
||||||
:doc:`fix ave/spatial <fix_ave_spatial>`, :doc:`fix viscosity <fix_viscosity>`, :doc:`compute heat/flux <compute_heat_flux>`
|
:doc:`fix ave/spatial <fix_ave_spatial>`, :doc:`fix viscosity <fix_viscosity>`, :doc:`compute heat/flux <compute_heat_flux>`
|
||||||
|
|
||||||
Default
|
Default
|
||||||
|
|
|
@ -0,0 +1,365 @@
|
||||||
|
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
||||||
|
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
|
<title>fix ehex command — LAMMPS documentation</title>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="top" title="LAMMPS documentation" href="index.html"/>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="_static/js/modernizr.min.js"></script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="wy-body-for-nav" role="document">
|
||||||
|
|
||||||
|
<div class="wy-grid-for-nav">
|
||||||
|
|
||||||
|
|
||||||
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||||
|
<div class="wy-side-nav-search">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="Manual.html" class="icon icon-home"> LAMMPS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
<div role="search">
|
||||||
|
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||||
|
<input type="text" name="q" placeholder="Search docs" />
|
||||||
|
<input type="hidden" name="check_keywords" value="yes" />
|
||||||
|
<input type="hidden" name="area" value="default" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
||||||
|
|
||||||
|
|
||||||
|
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
||||||
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||||
|
<a href="Manual.html">LAMMPS</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="wy-nav-content">
|
||||||
|
<div class="rst-content">
|
||||||
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
||||||
|
<ul class="wy-breadcrumbs">
|
||||||
|
<li><a href="Manual.html">Docs</a> »</li>
|
||||||
|
|
||||||
|
<li>fix ehex command</li>
|
||||||
|
<li class="wy-breadcrumbs-aside">
|
||||||
|
|
||||||
|
|
||||||
|
<a href="http://lammps.sandia.gov">Website</a>
|
||||||
|
<a href="Section_commands.html#comm">Commands</a>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<hr/>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||||
|
<div itemprop="articleBody">
|
||||||
|
|
||||||
|
<div class="section" id="fix-ehex-command">
|
||||||
|
<span id="index-0"></span><h1>fix ehex command</h1>
|
||||||
|
<div class="section" id="syntax">
|
||||||
|
<h2>Syntax</h2>
|
||||||
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">fix</span> <span class="n">ID</span> <span class="n">group</span><span class="o">-</span><span class="n">ID</span> <span class="n">ehex</span> <span class="n">nevery</span> <span class="n">F</span> <span class="n">keyword</span> <span class="n">value</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<ul class="simple">
|
||||||
|
<li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><span class="doc">fix</span></a> command</li>
|
||||||
|
<li>ehex = style name of this fix command</li>
|
||||||
|
<li>nevery = add/subtract heat every this many timesteps</li>
|
||||||
|
<li>F = energy flux into the reservoir (energy/time units)</li>
|
||||||
|
<li>zero or more keyword/value pairs may be appended to args</li>
|
||||||
|
<li>keyword = <em>region</em> or <em>constrain</em> or <em>com</em> or <em>hex</em></li>
|
||||||
|
</ul>
|
||||||
|
<pre class="literal-block">
|
||||||
|
<em>region</em> value = region-ID
|
||||||
|
region-ID = ID of region (reservoir) atoms must be in for added thermostatting force
|
||||||
|
<em>constrain</em> value = none
|
||||||
|
apply the constraint algorithm (SHAKE or RATTLE) again at the end of the timestep
|
||||||
|
<em>com</em> value = none
|
||||||
|
rescale all sites of a constrained cluster of atom if its COM is in the reservoir
|
||||||
|
<em>hex</em> value = none
|
||||||
|
omit the coordinate correction to recover the HEX algorithm
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="examples">
|
||||||
|
<h2>Examples</h2>
|
||||||
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1"># Lennard-Jones, from examples/in.ehex.lj</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">fix</span> <span class="n">fnve</span> <span class="nb">all</span> <span class="n">nve</span>
|
||||||
|
<span class="c1"># specify regions rhot and rcold</span>
|
||||||
|
<span class="o">...</span>
|
||||||
|
<span class="n">fix</span> <span class="n">fhot</span> <span class="nb">all</span> <span class="n">ehex</span> <span class="mi">1</span> <span class="mf">0.15</span> <span class="n">region</span> <span class="n">rhot</span>
|
||||||
|
<span class="n">fix</span> <span class="n">fcold</span> <span class="nb">all</span> <span class="n">ehex</span> <span class="mi">1</span> <span class="o">-</span><span class="mf">0.15</span> <span class="n">region</span> <span class="n">rcold</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="c1"># SPC/E water, from examples/in.ehex.spce</span>
|
||||||
|
<span class="n">fix</span> <span class="n">fnve</span> <span class="nb">all</span> <span class="n">nve</span>
|
||||||
|
<span class="c1"># specify regions rhot and rcold</span>
|
||||||
|
<span class="o">...</span>
|
||||||
|
<span class="n">fix</span> <span class="n">fhot</span> <span class="nb">all</span> <span class="n">ehex</span> <span class="mi">1</span> <span class="mf">0.075</span> <span class="n">region</span> <span class="n">rhot</span> <span class="n">constrain</span> <span class="n">com</span>
|
||||||
|
<span class="n">fix</span> <span class="n">fcold</span> <span class="nb">all</span> <span class="n">ehex</span> <span class="mi">1</span> <span class="o">-</span><span class="mf">0.075</span> <span class="n">region</span> <span class="n">rcold</span> <span class="n">constrain</span> <span class="n">com</span>
|
||||||
|
<span class="n">fix</span> <span class="n">frattle</span> <span class="nb">all</span> <span class="n">rattle</span> <span class="mi">1</span><span class="n">e</span><span class="o">-</span><span class="mi">10</span> <span class="mi">400</span> <span class="mi">0</span> <span class="n">b</span> <span class="mi">1</span> <span class="n">a</span> <span class="mi">1</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="description">
|
||||||
|
<h2>Description</h2>
|
||||||
|
<p>This fix implements the asymmetric version of the enhanced heat
|
||||||
|
exchange algorithm <a class="reference internal" href="#wirnsberger"><span class="std std-ref">(Wirnsberger)</span></a>. The eHEX algorithm is
|
||||||
|
an extension of the heat exchange algorithm <a class="reference internal" href="#ikeshoji"><span class="std std-ref">(Ikeshoji)</span></a> and
|
||||||
|
adds an additional coordinate integration to account for higher-order
|
||||||
|
truncation terms in the operator splitting. The original HEX
|
||||||
|
algorithm (implemented as <a class="reference internal" href="fix_heat.html"><span class="doc">fix heat</span></a>) is known to
|
||||||
|
exhibit a slight energy drift limiting the accessible simulation times
|
||||||
|
to a few nanoseconds. This issue is greatly improved by the new
|
||||||
|
algorithm decreasing the energy drift by at least a factor of a
|
||||||
|
hundred (LJ and SPC/E water) with little computational overhead.</p>
|
||||||
|
<p>In both algorithms (non-translational) kinetic energy is constantly
|
||||||
|
swapped between regions (reservoirs) to impose a heat flux onto the
|
||||||
|
system. The equations of motion are therefore modified if a particle
|
||||||
|
<em>i</em> is located inside a reservoir</p>
|
||||||
|
<img alt="Eqs/fix_ehex01.jpg" class="align-center" src="Eqs/fix_ehex01.jpg" />
|
||||||
|
<p>where</p>
|
||||||
|
<img alt="Eqs/fix_ehex02.jpg" class="align-center" src="Eqs/fix_ehex02.jpg" />
|
||||||
|
<p>We use</p>
|
||||||
|
<img alt="Eqs/fix_ehex03.jpg" class="align-center" src="Eqs/fix_ehex03.jpg" />
|
||||||
|
<p>to label those parts of the simulation box which are not
|
||||||
|
thermostatted.) The input parameter <em>region-ID</em> of this fix
|
||||||
|
corresponds to <em>k</em>. The energy swap is modelled by introducing an
|
||||||
|
additional thermostatting force to the equations of motion, such that
|
||||||
|
the time evolution of coordinates and momenta of particle <em>i</em> becomes
|
||||||
|
<a class="reference internal" href="#wirnsberger"><span class="std std-ref">(Wirnsberger)</span></a></p>
|
||||||
|
<img alt="Eqs/fix_ehex04.jpg" class="align-center" src="Eqs/fix_ehex04.jpg" />
|
||||||
|
<p>The thermostatting force is given by</p>
|
||||||
|
<img alt="Eqs/fix_ehex05.jpg" class="align-center" src="Eqs/fix_ehex05.jpg" />
|
||||||
|
<p>where</p>
|
||||||
|
<img alt="Eqs/fix_ehex06.jpg" class="align-center" src="Eqs/fix_ehex06.jpg" />
|
||||||
|
<p>is the mass and</p>
|
||||||
|
<img alt="Eqs/fix_ehex07.jpg" class="align-center" src="Eqs/fix_ehex07.jpg" />
|
||||||
|
<p>maps the particle position to the respective reservoir. The quantity</p>
|
||||||
|
<img alt="Eqs/fix_ehex08.jpg" class="align-center" src="Eqs/fix_ehex08.jpg" />
|
||||||
|
<p>corresponds to the input parameter <em>F</em>, which is the energy flux into
|
||||||
|
the reservoir. Furthermore,</p>
|
||||||
|
<img alt="Eqs/fix_ehex09.jpg" class="align-center" src="Eqs/fix_ehex09.jpg" />
|
||||||
|
<p>and</p>
|
||||||
|
<img alt="Eqs/fix_ehex10.jpg" class="align-center" src="Eqs/fix_ehex10.jpg" />
|
||||||
|
<p>denote the non-translational kinetic
|
||||||
|
energy and the centre of mass velocity of that reservoir. The
|
||||||
|
thermostatting force does not affect the centre of mass velocities of
|
||||||
|
the individual reservoirs and the entire simulation box. A derivation
|
||||||
|
of the equations and details on the numerical implementation with
|
||||||
|
velocity Verlet in LAMMPS can be found in reference
|
||||||
|
“(Wirnsberger)”#_Wirnsberger.</p>
|
||||||
|
<div class="admonition note">
|
||||||
|
<p class="first admonition-title">Note</p>
|
||||||
|
<p class="last">This fix only integrates the thermostatting force and must be
|
||||||
|
combined with another integrator, such as <a class="reference internal" href="fix_nve.html"><span class="doc">fix nve</span></a>, to
|
||||||
|
solve the full equations of motion.</p>
|
||||||
|
</div>
|
||||||
|
<p>This fix is different from a thermostat such as <a class="reference internal" href="fix_nh.html"><span class="doc">fix nvt</span></a>
|
||||||
|
or <a class="reference internal" href="fix_temp_rescale.html"><span class="doc">fix temp/rescale</span></a> in that energy is
|
||||||
|
added/subtracted continually. Thus if there isn’t another mechanism
|
||||||
|
in place to counterbalance this effect, the entire system will heat or
|
||||||
|
cool continuously.</p>
|
||||||
|
<div class="admonition note">
|
||||||
|
<p class="first admonition-title">Note</p>
|
||||||
|
<p class="last">If heat is subtracted from the system too aggressively so that
|
||||||
|
the group’s kinetic energy would go to zero, then LAMMPS will halt
|
||||||
|
with an error message. Increasing the value of <em>nevery</em> means that
|
||||||
|
heat is added/subtracted less frequently but in larger portions. The
|
||||||
|
resulting temperature profile will therefore be the same.</p>
|
||||||
|
</div>
|
||||||
|
<p>This fix will default to <a class="reference internal" href="fix_heat.html"><span class="doc">fix_heat</span></a> (HEX algorithm) if
|
||||||
|
the keyword <em>hex</em> is specified.</p>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<p><strong>Compatibility with SHAKE and RATTLE (rigid molecules)</strong>:</p>
|
||||||
|
<p>This fix is compatible with <a class="reference internal" href="fix_shake.html"><span class="doc">fix shake</span></a> and <span class="xref doc">fix rattle</span>. If either of these constraining algorithms is
|
||||||
|
specified in the input script and the keyword <em>constrain</em> is set, the
|
||||||
|
bond distances will be corrected a second time at the end of the
|
||||||
|
integration step. It is recommended to specify the keyword <em>com</em> in
|
||||||
|
addition to the keyword <em>constrain</em>. With this option all sites of a
|
||||||
|
constrained cluster are rescaled, if its centre of mass is located
|
||||||
|
inside the region. Rescaling all sites of a cluster by the same factor
|
||||||
|
does not introduce any velocity components along fixed bonds. No
|
||||||
|
rescaling takes place if the centre of mass lies outside the region.</p>
|
||||||
|
<div class="admonition note">
|
||||||
|
<p class="first admonition-title">Note</p>
|
||||||
|
<p class="last">You can only use the keyword <em>com</em> along with <em>constrain</em>.</p>
|
||||||
|
</div>
|
||||||
|
<p>To achieve the highest accuracy it is recommended to use <span class="xref doc">fix rattle</span> with the keywords <em>constrain</em> and <em>com</em> as
|
||||||
|
shown in the second example. Only if RATTLE is employed, the velocity
|
||||||
|
constraints will be satisfied.</p>
|
||||||
|
<div class="admonition note">
|
||||||
|
<p class="first admonition-title">Note</p>
|
||||||
|
<p class="last">Even if RATTLE is used and the keywords <em>com</em> and <em>constrain</em>
|
||||||
|
are both set, the coordinate constraints will not necessarily be
|
||||||
|
satisfied up to the target precision. The velocity constraints are
|
||||||
|
satisfied as long as all sites of a cluster are rescaled (keyyword
|
||||||
|
<em>com</em>) and the cluster does not span adjacent reservoirs. The current
|
||||||
|
implementation of the eHEX algorithm introduces a small error in the
|
||||||
|
bond distances, which goes to zero with order three in the
|
||||||
|
timestep. For example, in a simulation of SPC/E water with a timestep
|
||||||
|
of 2 fs the maximum relative error in the bond distances was found to
|
||||||
|
be on the order of :c,image(Eqs/fix_ehex07.jpg) for relatively large
|
||||||
|
temperature gradients. A higher precision can be achieved by
|
||||||
|
decreasing the timestep.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<div class="section" id="restart-fix-modify-output-run-start-stop-minimize-info">
|
||||||
|
<h2>Restart, fix_modify, output, run start/stop, minimize info</h2>
|
||||||
|
<p>No information about this fix is written to <a class="reference internal" href="restart.html"><span class="doc">binary restart files</span></a>. None of the <a class="reference internal" href="fix_modify.html"><span class="doc">fix_modify</span></a> options
|
||||||
|
are relevant to this fix.</p>
|
||||||
|
<p>No parameter of this fix can be used with the <em>start/stop</em> keywords of
|
||||||
|
the <a class="reference internal" href="run.html"><span class="doc">run</span></a> command. This fix is not invoked during <a class="reference internal" href="minimize.html"><span class="doc">energy minimization</span></a>.</p>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="restrictions">
|
||||||
|
<h2>Restrictions</h2>
|
||||||
|
<p>This fix is part of the RIGID package. It is only enabled if LAMMPS
|
||||||
|
was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
|
||||||
|
</div>
|
||||||
|
<div class="section" id="related-commands">
|
||||||
|
<h2>Related commands</h2>
|
||||||
|
<p><a class="reference internal" href="fix_heat.html"><span class="doc">fix heat</span></a>, <a class="reference internal" href="fix_thermal_conductivity.html"><span class="doc">fix thermal/conductivity</span></a>,
|
||||||
|
<a class="reference internal" href="compute_temp.html"><span class="doc">compute temp</span></a>, <a class="reference internal" href="compute_temp_region.html"><span class="doc">compute temp/region</span></a></p>
|
||||||
|
<p><strong>Default:</strong> none</p>
|
||||||
|
<hr class="docutils" />
|
||||||
|
<p id="ikeshoji"><strong>(Ikeshoji)</strong> Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 (1994).</p>
|
||||||
|
<p id="wirnsberger"><strong>(Wirnsberger)</strong> Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143,
|
||||||
|
124104 (2015).</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
|
||||||
|
|
||||||
|
<hr/>
|
||||||
|
|
||||||
|
<div role="contentinfo">
|
||||||
|
<p>
|
||||||
|
© Copyright 2013 Sandia Corporation.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||||
|
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var DOCUMENTATION_OPTIONS = {
|
||||||
|
URL_ROOT:'./',
|
||||||
|
VERSION:'',
|
||||||
|
COLLAPSE_INDEX:false,
|
||||||
|
FILE_SUFFIX:'.html',
|
||||||
|
HAS_SOURCE: true
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="_static/jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="_static/underscore.js"></script>
|
||||||
|
<script type="text/javascript" src="_static/doctools.js"></script>
|
||||||
|
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
||||||
|
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script>
|
||||||
|
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script>
|
||||||
|
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript" src="_static/js/theme.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
jQuery(function () {
|
||||||
|
SphinxRtdTheme.StickyNav.enable();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -175,6 +175,13 @@ eV/psec for <a class="reference internal" href="units.html"><span class="doc">me
|
||||||
number of atoms in the group. Note that since <em>eflux</em> has per-time
|
number of atoms in the group. Note that since <em>eflux</em> has per-time
|
||||||
units (i.e. it is a flux), this means that a larger value of N will
|
units (i.e. it is a flux), this means that a larger value of N will
|
||||||
add/subtract a larger amount of energy each time the fix is invoked.</p>
|
add/subtract a larger amount of energy each time the fix is invoked.</p>
|
||||||
|
<div class="admonition note">
|
||||||
|
<p class="first admonition-title">Note</p>
|
||||||
|
<p class="last">The heat-exchange (HEX) algorithm implemented by this fix is
|
||||||
|
known to exhibit a pronounced energy drift. An improved algorithm
|
||||||
|
(eHEX) is available as a <a class="reference internal" href="fix_ehex.html"><span class="doc">fix ehex</span></a> command and might be
|
||||||
|
preferable if energy conservation is important.</p>
|
||||||
|
</div>
|
||||||
<p>If <em>eflux</em> is specified as an atom-style variable (see below), then
|
<p>If <em>eflux</em> is specified as an atom-style variable (see below), then
|
||||||
the variable computes one value per atom. In this case, each value is
|
the variable computes one value per atom. In this case, each value is
|
||||||
the energy flux for a single atom, again in units of energy per unit
|
the energy flux for a single atom, again in units of energy per unit
|
||||||
|
@ -234,7 +241,7 @@ the <a class="reference internal" href="run.html"><span class="doc">run</span></
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="related-commands">
|
<div class="section" id="related-commands">
|
||||||
<h2>Related commands</h2>
|
<h2>Related commands</h2>
|
||||||
<p><a class="reference internal" href="compute_temp.html"><span class="doc">compute temp</span></a>, <a class="reference internal" href="compute_temp_region.html"><span class="doc">compute temp/region</span></a></p>
|
<p><a class="reference internal" href="fix_ehex.html"><span class="doc">fix ehex</span></a>, <a class="reference internal" href="compute_temp.html"><span class="doc">compute temp</span></a>, <a class="reference internal" href="compute_temp_region.html"><span class="doc">compute temp/region</span></a></p>
|
||||||
<p><strong>Default:</strong> none</p>
|
<p><strong>Default:</strong> none</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -153,7 +153,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="description">
|
<div class="section" id="description">
|
||||||
<h2>Description</h2>
|
<h2>Description</h2>
|
||||||
<p>Use the Muller-Plathe algorithm described in <a class="reference internal" href="fix_viscosity.html#muller-plathe"><span class="std std-ref">this paper</span></a> to exchange kinetic energy between two particles
|
<p>Use the Muller-Plathe algorithm described in <a class="reference internal" href="#muller-plathe"><span class="std std-ref">this paper</span></a> to exchange kinetic energy between two particles
|
||||||
in different regions of the simulation box every N steps. This
|
in different regions of the simulation box every N steps. This
|
||||||
induces a temperature gradient in the system. As described below this
|
induces a temperature gradient in the system. As described below this
|
||||||
enables the thermal conductivity of a material to be calculated. This
|
enables the thermal conductivity of a material to be calculated. This
|
||||||
|
@ -202,7 +202,7 @@ swaps is computed by the fix and can be output. Dividing this
|
||||||
quantity by time and the cross-sectional area of the simulation box
|
quantity by time and the cross-sectional area of the simulation box
|
||||||
yields a heat flux. The ratio of heat flux to the slope of the
|
yields a heat flux. The ratio of heat flux to the slope of the
|
||||||
temperature profile is proportional to the thermal conductivity of the
|
temperature profile is proportional to the thermal conductivity of the
|
||||||
fluid, in appropriate units. See the <a class="reference internal" href="fix_viscosity.html#muller-plathe"><span class="std std-ref">Muller-Plathe paper</span></a> for details.</p>
|
fluid, in appropriate units. See the <a class="reference internal" href="#muller-plathe"><span class="std std-ref">Muller-Plathe paper</span></a> for details.</p>
|
||||||
<div class="admonition note">
|
<div class="admonition note">
|
||||||
<p class="first admonition-title">Note</p>
|
<p class="first admonition-title">Note</p>
|
||||||
<p class="last">If your system is periodic in the direction of the heat flux,
|
<p class="last">If your system is periodic in the direction of the heat flux,
|
||||||
|
@ -258,7 +258,8 @@ bewteen solvent particles.</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="related-commands">
|
<div class="section" id="related-commands">
|
||||||
<h2>Related commands</h2>
|
<h2>Related commands</h2>
|
||||||
<p><a class="reference internal" href="fix_ave_spatial.html"><span class="doc">fix ave/spatial</span></a>, <a class="reference internal" href="fix_viscosity.html"><span class="doc">fix viscosity</span></a>, <a class="reference internal" href="compute_heat_flux.html"><span class="doc">compute heat/flux</span></a></p>
|
<p><a class="reference internal" href="fix_ehex.html"><span class="doc">fix ehex</span></a>, <a class="reference internal" href="fix_heat.html"><span class="doc">fix heat</span></a>,
|
||||||
|
<a class="reference internal" href="fix_ave_spatial.html"><span class="doc">fix ave/spatial</span></a>, <a class="reference internal" href="fix_viscosity.html"><span class="doc">fix viscosity</span></a>, <a class="reference internal" href="compute_heat_flux.html"><span class="doc">compute heat/flux</span></a></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="default">
|
<div class="section" id="default">
|
||||||
<h2>Default</h2>
|
<h2>Default</h2>
|
||||||
|
|
|
@ -1062,6 +1062,10 @@
|
||||||
</dt>
|
</dt>
|
||||||
|
|
||||||
|
|
||||||
|
<dt><a href="fix_ehex.html#index-0">fix ehex</a>
|
||||||
|
</dt>
|
||||||
|
|
||||||
|
|
||||||
<dt><a href="fix_enforce2d.html#index-0">fix enforce2d</a>
|
<dt><a href="fix_enforce2d.html#index-0">fix enforce2d</a>
|
||||||
</dt>
|
</dt>
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -507,6 +507,7 @@ g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
|
||||||
"drag"_fix_drag.html,
|
"drag"_fix_drag.html,
|
||||||
"dt/reset"_fix_dt_reset.html,
|
"dt/reset"_fix_dt_reset.html,
|
||||||
"efield"_fix_efield.html,
|
"efield"_fix_efield.html,
|
||||||
|
"ehex"_fix_ehex.html,
|
||||||
"enforce2d (c)"_fix_enforce2d.html,
|
"enforce2d (c)"_fix_enforce2d.html,
|
||||||
"evaporate"_fix_evaporate.html,
|
"evaporate"_fix_evaporate.html,
|
||||||
"external"_fix_external.html,
|
"external"_fix_external.html,
|
||||||
|
|
|
@ -1957,19 +1957,20 @@ periodic box. By holding the two regions at different temperatures
|
||||||
with a "thermostatting fix"_Section_howto.html#howto_13, the energy
|
with a "thermostatting fix"_Section_howto.html#howto_13, the energy
|
||||||
added to the hot region should equal the energy subtracted from the
|
added to the hot region should equal the energy subtracted from the
|
||||||
cold region and be proportional to the heat flux moving between the
|
cold region and be proportional to the heat flux moving between the
|
||||||
regions. See the paper by "Ikeshoji and Hafskjold"_#Ikeshoji for
|
regions. See the papers by "Ikeshoji and Hafskjold"_#howto-Ikeshoji
|
||||||
details of this idea. Note that thermostatting fixes such as "fix
|
and "Wirnsberger et al"_#howto-Wirnsberger for details of this idea.
|
||||||
nvt"_fix_nh.html, "fix langevin"_fix_langevin.html, and "fix
|
Note that thermostatting fixes such as "fix nvt"_fix_nh.html, "fix
|
||||||
|
langevin"_fix_langevin.html, and "fix
|
||||||
temp/rescale"_fix_temp_rescale.html store the cumulative energy they
|
temp/rescale"_fix_temp_rescale.html store the cumulative energy they
|
||||||
add/subtract.
|
add/subtract.
|
||||||
|
|
||||||
Alternatively, as a second method, the "fix heat"_fix_heat.html
|
Alternatively, as a second method, the "fix heat"_fix_heat.html or
|
||||||
command can used in place of thermostats on each of two regions to
|
"fix ehex"_fix_ehex.html commands can be used in place of thermostats
|
||||||
add/subtract specified amounts of energy to both regions. In both
|
on each of two regions to add/subtract specified amounts of energy to
|
||||||
cases, the resulting temperatures of the two regions can be monitored
|
both regions. In both cases, the resulting temperatures of the two
|
||||||
with the "compute temp/region" command and the temperature profile of
|
regions can be monitored with the "compute temp/region" command and
|
||||||
the intermediate region can be monitored with the "fix
|
the temperature profile of the intermediate region can be monitored
|
||||||
ave/spatial"_fix_ave_spatial.html and "compute
|
with the "fix ave/spatial"_fix_ave_spatial.html and "compute
|
||||||
ke/atom"_compute_ke_atom.html commands.
|
ke/atom"_compute_ke_atom.html commands.
|
||||||
|
|
||||||
The third method is to perform a reverse non-equilibrium MD simulation
|
The third method is to perform a reverse non-equilibrium MD simulation
|
||||||
|
@ -2786,10 +2787,14 @@ Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).
|
||||||
[(Horn)] Horn, Swope, Pitera, Madura, Dick, Hura, and Head-Gordon,
|
[(Horn)] Horn, Swope, Pitera, Madura, Dick, Hura, and Head-Gordon,
|
||||||
J Chem Phys, 120, 9665 (2004).
|
J Chem Phys, 120, 9665 (2004).
|
||||||
|
|
||||||
:link(Ikeshoji)
|
:link(howto-Ikeshoji)
|
||||||
[(Ikeshoji)] Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261
|
[(Ikeshoji)] Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261
|
||||||
(1994).
|
(1994).
|
||||||
|
|
||||||
|
:link(howto-Wirnsberger)
|
||||||
|
[(Wirnsberger)] Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143, 124104
|
||||||
|
(2015).
|
||||||
|
|
||||||
:link(howto-MacKerell)
|
:link(howto-MacKerell)
|
||||||
[(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field,
|
[(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field,
|
||||||
Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).
|
Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).
|
||||||
|
|
|
@ -0,0 +1,206 @@
|
||||||
|
"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 ehex command :h3
|
||||||
|
|
||||||
|
[Syntax:]
|
||||||
|
|
||||||
|
fix ID group-ID ehex nevery F keyword value :pre
|
||||||
|
|
||||||
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||||
|
ehex = style name of this fix command :l
|
||||||
|
nevery = add/subtract heat every this many timesteps :l
|
||||||
|
F = energy flux into the reservoir (energy/time units) :l
|
||||||
|
zero or more keyword/value pairs may be appended to args :l
|
||||||
|
keyword = {region} or {constrain} or {com} or {hex} :l
|
||||||
|
{region} value = region-ID
|
||||||
|
region-ID = ID of region (reservoir) atoms must be in for added thermostatting force
|
||||||
|
{constrain} value = none
|
||||||
|
apply the constraint algorithm (SHAKE or RATTLE) again at the end of the timestep
|
||||||
|
{com} value = none
|
||||||
|
rescale all sites of a constrained cluster of atom if its COM is in the reservoir
|
||||||
|
{hex} value = none
|
||||||
|
omit the coordinate correction to recover the HEX algorithm :pre
|
||||||
|
:ule
|
||||||
|
|
||||||
|
[Examples:]
|
||||||
|
|
||||||
|
# Lennard-Jones, from examples/in.ehex.lj :pre
|
||||||
|
fix fnve all nve
|
||||||
|
# specify regions rhot and rcold
|
||||||
|
...
|
||||||
|
fix fhot all ehex 1 0.15 region rhot
|
||||||
|
fix fcold all ehex 1 -0.15 region rcold :pre
|
||||||
|
|
||||||
|
# SPC/E water, from examples/in.ehex.spce
|
||||||
|
fix fnve all nve
|
||||||
|
# specify regions rhot and rcold
|
||||||
|
...
|
||||||
|
fix fhot all ehex 1 0.075 region rhot constrain com
|
||||||
|
fix fcold all ehex 1 -0.075 region rcold constrain com
|
||||||
|
fix frattle all rattle 1e-10 400 0 b 1 a 1 :pre
|
||||||
|
|
||||||
|
[Description:]
|
||||||
|
|
||||||
|
This fix implements the asymmetric version of the enhanced heat
|
||||||
|
exchange algorithm "(Wirnsberger)"_#Wirnsberger. The eHEX algorithm is
|
||||||
|
an extension of the heat exchange algorithm "(Ikeshoji)"_#Ikeshoji and
|
||||||
|
adds an additional coordinate integration to account for higher-order
|
||||||
|
truncation terms in the operator splitting. The original HEX
|
||||||
|
algorithm (implemented as "fix heat"_fix_heat.html) is known to
|
||||||
|
exhibit a slight energy drift limiting the accessible simulation times
|
||||||
|
to a few nanoseconds. This issue is greatly improved by the new
|
||||||
|
algorithm decreasing the energy drift by at least a factor of a
|
||||||
|
hundred (LJ and SPC/E water) with little computational overhead.
|
||||||
|
|
||||||
|
In both algorithms (non-translational) kinetic energy is constantly
|
||||||
|
swapped between regions (reservoirs) to impose a heat flux onto the
|
||||||
|
system. The equations of motion are therefore modified if a particle
|
||||||
|
{i} is located inside a reservoir
|
||||||
|
|
||||||
|
:c,image(Eqs/fix_ehex01.jpg)
|
||||||
|
|
||||||
|
where
|
||||||
|
|
||||||
|
:c,image(Eqs/fix_ehex02.jpg)
|
||||||
|
|
||||||
|
We use
|
||||||
|
|
||||||
|
:c,image(Eqs/fix_ehex03.jpg)
|
||||||
|
|
||||||
|
to label those parts of the simulation box which are not
|
||||||
|
thermostatted.) The input parameter {region-ID} of this fix
|
||||||
|
corresponds to {k}. The energy swap is modelled by introducing an
|
||||||
|
additional thermostatting force to the equations of motion, such that
|
||||||
|
the time evolution of coordinates and momenta of particle {i} becomes
|
||||||
|
"(Wirnsberger)"_#Wirnsberger
|
||||||
|
|
||||||
|
:c,image(Eqs/fix_ehex04.jpg)
|
||||||
|
|
||||||
|
The thermostatting force is given by
|
||||||
|
|
||||||
|
:c,image(Eqs/fix_ehex05.jpg)
|
||||||
|
|
||||||
|
where
|
||||||
|
|
||||||
|
:c,image(Eqs/fix_ehex06.jpg)
|
||||||
|
|
||||||
|
is the mass and
|
||||||
|
|
||||||
|
:c,image(Eqs/fix_ehex07.jpg)
|
||||||
|
|
||||||
|
maps the particle position to the respective reservoir. The quantity
|
||||||
|
|
||||||
|
:c,image(Eqs/fix_ehex08.jpg)
|
||||||
|
|
||||||
|
corresponds to the input parameter {F}, which is the energy flux into
|
||||||
|
the reservoir. Furthermore,
|
||||||
|
|
||||||
|
:c,image(Eqs/fix_ehex09.jpg)
|
||||||
|
|
||||||
|
and
|
||||||
|
|
||||||
|
:c,image(Eqs/fix_ehex10.jpg)
|
||||||
|
|
||||||
|
denote the non-translational kinetic
|
||||||
|
energy and the centre of mass velocity of that reservoir. The
|
||||||
|
thermostatting force does not affect the centre of mass velocities of
|
||||||
|
the individual reservoirs and the entire simulation box. A derivation
|
||||||
|
of the equations and details on the numerical implementation with
|
||||||
|
velocity Verlet in LAMMPS can be found in reference
|
||||||
|
"(Wirnsberger)"#_Wirnsberger.
|
||||||
|
|
||||||
|
NOTE: This fix only integrates the thermostatting force and must be
|
||||||
|
combined with another integrator, such as "fix nve"_fix_nve.html, to
|
||||||
|
solve the full equations of motion.
|
||||||
|
|
||||||
|
This fix is different from a thermostat such as "fix nvt"_fix_nh.html
|
||||||
|
or "fix temp/rescale"_fix_temp_rescale.html in that energy is
|
||||||
|
added/subtracted continually. Thus if there isn't another mechanism
|
||||||
|
in place to counterbalance this effect, the entire system will heat or
|
||||||
|
cool continuously.
|
||||||
|
|
||||||
|
NOTE: If heat is subtracted from the system too aggressively so that
|
||||||
|
the group's kinetic energy would go to zero, then LAMMPS will halt
|
||||||
|
with an error message. Increasing the value of {nevery} means that
|
||||||
|
heat is added/subtracted less frequently but in larger portions. The
|
||||||
|
resulting temperature profile will therefore be the same.
|
||||||
|
|
||||||
|
This fix will default to "fix_heat"_fix_heat.html (HEX algorithm) if
|
||||||
|
the keyword {hex} is specified.
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
[Compatibility with SHAKE and RATTLE (rigid molecules)]:
|
||||||
|
|
||||||
|
This fix is compatible with "fix shake"_fix_shake.html and "fix
|
||||||
|
rattle"_fix_rattle.html. If either of these constraining algorithms is
|
||||||
|
specified in the input script and the keyword {constrain} is set, the
|
||||||
|
bond distances will be corrected a second time at the end of the
|
||||||
|
integration step. It is recommended to specify the keyword {com} in
|
||||||
|
addition to the keyword {constrain}. With this option all sites of a
|
||||||
|
constrained cluster are rescaled, if its centre of mass is located
|
||||||
|
inside the region. Rescaling all sites of a cluster by the same factor
|
||||||
|
does not introduce any velocity components along fixed bonds. No
|
||||||
|
rescaling takes place if the centre of mass lies outside the region.
|
||||||
|
|
||||||
|
NOTE: You can only use the keyword {com} along with {constrain}.
|
||||||
|
|
||||||
|
To achieve the highest accuracy it is recommended to use "fix
|
||||||
|
rattle"_fix_rattle.html with the keywords {constrain} and {com} as
|
||||||
|
shown in the second example. Only if RATTLE is employed, the velocity
|
||||||
|
constraints will be satisfied.
|
||||||
|
|
||||||
|
NOTE: Even if RATTLE is used and the keywords {com} and {constrain}
|
||||||
|
are both set, the coordinate constraints will not necessarily be
|
||||||
|
satisfied up to the target precision. The velocity constraints are
|
||||||
|
satisfied as long as all sites of a cluster are rescaled (keyyword
|
||||||
|
{com}) and the cluster does not span adjacent reservoirs. The current
|
||||||
|
implementation of the eHEX algorithm introduces a small error in the
|
||||||
|
bond distances, which goes to zero with order three in the
|
||||||
|
timestep. For example, in a simulation of SPC/E water with a timestep
|
||||||
|
of 2 fs the maximum relative error in the bond distances was found to
|
||||||
|
be on the order of :c,image(Eqs/fix_ehex07.jpg) for relatively large
|
||||||
|
temperature gradients. A higher precision can be achieved by
|
||||||
|
decreasing the timestep.
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||||
|
|
||||||
|
No information about this fix is written to "binary restart
|
||||||
|
files"_restart.html. None of the "fix_modify"_fix_modify.html options
|
||||||
|
are relevant to this fix.
|
||||||
|
|
||||||
|
No parameter of this fix can be used with the {start/stop} keywords of
|
||||||
|
the "run"_run.html command. This fix is not invoked during "energy
|
||||||
|
minimization"_minimize.html.
|
||||||
|
|
||||||
|
[Restrictions:]
|
||||||
|
|
||||||
|
This fix is part of the RIGID 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.
|
||||||
|
|
||||||
|
[Related commands:]
|
||||||
|
|
||||||
|
"fix heat"_fix_heat.html, "fix
|
||||||
|
thermal/conductivity"_fix_thermal_conductivity.html,
|
||||||
|
"compute temp"_compute_temp.html, "compute temp/region"_compute_temp_region.html
|
||||||
|
|
||||||
|
[Default:] none
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
:link(Ikeshoji)
|
||||||
|
[(Ikeshoji)] Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 (1994).
|
||||||
|
|
||||||
|
:link(Wirnsberger)
|
||||||
|
[(Wirnsberger)] Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143,
|
||||||
|
124104 (2015).
|
||||||
|
|
|
@ -54,6 +54,11 @@ number of atoms in the group. Note that since {eflux} has per-time
|
||||||
units (i.e. it is a flux), this means that a larger value of N will
|
units (i.e. it is a flux), this means that a larger value of N will
|
||||||
add/subtract a larger amount of energy each time the fix is invoked.
|
add/subtract a larger amount of energy each time the fix is invoked.
|
||||||
|
|
||||||
|
NOTE: The heat-exchange (HEX) algorithm implemented by this fix is
|
||||||
|
known to exhibit a pronounced energy drift. An improved algorithm
|
||||||
|
(eHEX) is available as a "fix ehex"_fix_ehex.html command and might be
|
||||||
|
preferable if energy conservation is important.
|
||||||
|
|
||||||
If {eflux} is specified as an atom-style variable (see below), then
|
If {eflux} is specified as an atom-style variable (see below), then
|
||||||
the variable computes one value per atom. In this case, each value is
|
the variable computes one value per atom. In this case, each value is
|
||||||
the energy flux for a single atom, again in units of energy per unit
|
the energy flux for a single atom, again in units of energy per unit
|
||||||
|
@ -118,7 +123,7 @@ minimization"_minimize.html.
|
||||||
|
|
||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|
||||||
"compute temp"_compute_temp.html, "compute
|
"fix ehex"_fix_ehex.html, "compute temp"_compute_temp.html, "compute
|
||||||
temp/region"_compute_temp_region.html
|
temp/region"_compute_temp_region.html
|
||||||
|
|
||||||
[Default:] none
|
[Default:] none
|
||||||
|
|
|
@ -145,6 +145,7 @@ bewteen solvent particles.
|
||||||
|
|
||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|
||||||
|
"fix ehex"_fix_ehex.html, "fix heat"_fix_heat.html,
|
||||||
"fix ave/spatial"_fix_ave_spatial.html, "fix
|
"fix ave/spatial"_fix_ave_spatial.html, "fix
|
||||||
viscosity"_fix_viscosity.html, "compute
|
viscosity"_fix_viscosity.html, "compute
|
||||||
heat/flux"_compute_heat_flux.html
|
heat/flux"_compute_heat_flux.html
|
||||||
|
|
Loading…
Reference in New Issue