From 2512429ccf39ce482f69f903806bc381c44c8ff9 Mon Sep 17 00:00:00 2001
From: sjplimp
The fix npt and fix nph commands can be used with rigid bodies or +mixtures of rigid bodies and non-rigid particles (e.g. solvent). But +there are also fix rigid/npt and fix +rigid/nph commands, which are typically a more natural +choice. See the doc page for those commands for more discussion of +the various ways to do this. +
+Styles with a cuda suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in diff --git a/doc/fix_nh.txt b/doc/fix_nh.txt index 2caed0547c..fb91a9ce46 100644 --- a/doc/fix_nh.txt +++ b/doc/fix_nh.txt @@ -436,6 +436,15 @@ space measure of the underlying non-Hamiltonian equations of motion. :line +The fix npt and fix nph commands can be used with rigid bodies or +mixtures of rigid bodies and non-rigid particles (e.g. solvent). But +there are also "fix rigid/npt"_fix_rigid.html and "fix +rigid/nph"_fix_rigid.html commands, which are typically a more natural +choice. See the doc page for those commands for more discussion of +the various ways to do this. + +:line + Styles with a {cuda} suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in diff --git a/doc/fix_rigid.html b/doc/fix_rigid.html index a0627ecb34..ac8ddb7871 100644 --- a/doc/fix_rigid.html +++ b/doc/fix_rigid.html @@ -465,6 +465,64 @@ described below.
If your simlulation is a hybrid model with a mixture of rigid bodies +and non-rigid particles (e.g. solvent) there are several ways these +rigid fixes can be used in tandem with fix nve, fix +nvt, fix npt, and fix nph. +
+If you wish to perform NVE dynamics (no thermostatting or +barostatting), use fix rigid or fix rigid/nve to integrate the rigid +bodies, and fix nve to integrate the non-rigid +particles. +
+If you wish to perform NVT dynamics (thermostatting, but no +barostatting), you can use fix rigid/nvt for the rigid bodies, and any +thermostatting fix for the non-rigid particles (fix nvt, +fix langevin, fix +temp/berendsen). You can also use fix rigid +or fix rigid/nve for the rigid bodies and thermostat them using fix +langevin on the group that contains all the +particles in the rigid bodies. The net force added by fix +langevin to each rigid body effectively thermostats +its translational center-of-mass motion. Not sure how well it does at +thermostatting its rotational motion. +
+If you with to perform NPT or NPH dynamics (barostatting), you cannot +use both fix npt and fix rigid/npt (or the nph +variants). This is because there can only be one fix which monitors +the global pressure and changes the simulation box dimensions. So you +have 3 choices: +
+In all case, the rigid bodies and non-rigid particles both contribute +to the global pressure and the box is scaled the same by any of the +barostatting fixes. +
+You could even use the 2nd and 3rd options for a non-hybrid simulation +consisting of only rigid bodies, assuming you give fix +npt an empty group, though it's an odd thing to do. The +barostatting fixes (fix npt and fix +press/berensen) will monitor the pressure +and change the box dimensions, but not time integrate any particles. +The integration of the rigid bodies will be performed by fix +rigid/nvt. +
+Restart, fix_modify, output, run start/stop, minimize info:
No information about the rigid and rigid/nve fixes are written to diff --git a/doc/fix_rigid.txt b/doc/fix_rigid.txt index e0b7bf770b..4b2fcc37f9 100644 --- a/doc/fix_rigid.txt +++ b/doc/fix_rigid.txt @@ -452,6 +452,64 @@ described below. :line +If your simlulation is a hybrid model with a mixture of rigid bodies +and non-rigid particles (e.g. solvent) there are several ways these +rigid fixes can be used in tandem with "fix nve"_fix_nve.html, "fix +nvt"_fix_nh.html, "fix npt"_fix_nh.html, and "fix nph"_fix_nh.html. + +If you wish to perform NVE dynamics (no thermostatting or +barostatting), use fix rigid or fix rigid/nve to integrate the rigid +bodies, and "fix nve"_fix_nve.html to integrate the non-rigid +particles. + +If you wish to perform NVT dynamics (thermostatting, but no +barostatting), you can use fix rigid/nvt for the rigid bodies, and any +thermostatting fix for the non-rigid particles ("fix nvt"_fix_nh.html, +"fix langevin"_fix_langevin.html, "fix +temp/berendsen"_fix_temp_berendsen.html). You can also use fix rigid +or fix rigid/nve for the rigid bodies and thermostat them using "fix +langevin"_fix_langevin.html on the group that contains all the +particles in the rigid bodies. The net force added by "fix +langevin"_fix_langevin.html to each rigid body effectively thermostats +its translational center-of-mass motion. Not sure how well it does at +thermostatting its rotational motion. + +If you with to perform NPT or NPH dynamics (barostatting), you cannot +use both "fix npt"_fix_nh.html and fix rigid/npt (or the nph +variants). This is because there can only be one fix which monitors +the global pressure and changes the simulation box dimensions. So you +have 3 choices: + +Use fix rigid/npt for the rigid bodies. Use the {dilate} all option +so that it will dilate the positions of the non-rigid particles as +well. Use "fix nvt"_fix_nh.html (or any other thermostat) for the +non-rigid particles. :ulb,l + +Use "fix npt"_fix_nh.html for the group of non-rigid particles. Use +the {dilate} all option so that it will dilate the center-of-mass +positions of the rigid bodies as well. Use fix rigid/nvt for the +rigid bodies. :l + +Use "fix press/berendsen"_fix_press_berendsen.html to compute the +pressure and change the box dimensions. Use fix rigid/nvt for the +rigid bodies. Use "fix nvt"_fix_nh.thml (or any other thermostat) for +the non-rigid particles. :l,ule + +In all case, the rigid bodies and non-rigid particles both contribute +to the global pressure and the box is scaled the same by any of the +barostatting fixes. + +You could even use the 2nd and 3rd options for a non-hybrid simulation +consisting of only rigid bodies, assuming you give "fix +npt"_fix_nh.html an empty group, though it's an odd thing to do. The +barostatting fixes ("fix npt"_fix_nh.html and "fix +press/berensen"_fix_press_berendsen.html) will monitor the pressure +and change the box dimensions, but not time integrate any particles. +The integration of the rigid bodies will be performed by fix +rigid/nvt. + +:line + [Restart, fix_modify, output, run start/stop, minimize info:] No information about the {rigid} and {rigid/nve} fixes are written to