From 486aa1a7f54d60d5557ef068a624ec36e4860bea Mon Sep 17 00:00:00 2001
From: sjplimp
The degrees-of-freedom removed by rigid bodies are accounted for in -temperature and pressure computations. Similarly, the rigid body -contribution to the pressure of the system (virial) is also accounted -for. For linear rigid bodies of three or more atoms, one additional -degree-of-freedom must be subtracted manually using the -compute_modify command. E.g. for a simulation -of 10 such rigid bodies, use "compute_modify thermo_temp extra 13", -after the thermo_style command, where 3 is the default setting and an -additional 10 degrees-of-freedom are subtracted. You may also wish to -manually subtract additional degrees-of-freedom if you use the force -and torque keywords to eliminate certain motions of the rigid body. -Alternatively, you can define the temperature compute -to exclude atoms in rigid bodies, which may be a better strategy, -i.e. measure the temperature of the free atoms around the rigid body -or bodies. +
If you do calculate a temperature for the rigid bodies, the +degrees-of-freedom removed by each rigid body are accounted for in the +temperature (and pressure) computation, but only if the temperature +group includes the entire rigid body. Rigid bodies in 3d have 6 +degrees of freedom (3 translational, 3 rotational), except for dimers +which only have 5. Rigid bodies in 2d have 3 degrees of freedom. +Note that linear rigid bodies in 3d of three or more atoms also have 5 +degrees of freedom instead of 6, but LAMMPS will not detect this. So +you should use the compute_modify command to +subtract an additional degree of freedom per rigid body. You may also +wish to explicitly subtract additional degrees-of-freedom if you use +the force and torque keywords to eliminate certain motions of the +rigid body, as LAMMPS does not do this automatically. +
+The rigid body contribution to the pressure of the system (virial) is +also accounted for by this fix.
IMPORTANT NOTE: The periodic image flags of atoms in rigid bodies are modified when the center-of-mass of the rigid body moves across a diff --git a/doc/fix_rigid.txt b/doc/fix_rigid.txt index 58d567f146..f7acb62250 100644 --- a/doc/fix_rigid.txt +++ b/doc/fix_rigid.txt @@ -106,24 +106,27 @@ This fix uses constant-energy integration, so you may need to impose additional constraints to control the temperature of an ensemble of rigid bodies. You can use "fix langevin"_fix_langevin.html for this purpose to treat the system as effectively immersed in an implicit -solvent, i.e. a Brownian dynamics model. Or you can thermostat -additional atoms of an explicit solvent directly. +solvent, e.g. a Brownian dynamics model. Or you can thermostat only +the non-rigid atoms that surround one or more rigid bodies +(i.e. explicit solvent) by appropriate choice of groups in the compute +and fix commands for temperature and thermostatting. -The degrees-of-freedom removed by rigid bodies are accounted for in -temperature and pressure computations. Similarly, the rigid body -contribution to the pressure of the system (virial) is also accounted -for. For linear rigid bodies of three or more atoms, one additional -degree-of-freedom must be subtracted manually using the -"compute_modify"_compute_modify.html command. E.g. for a simulation -of 10 such rigid bodies, use "compute_modify thermo_temp extra 13", -after the thermo_style command, where 3 is the default setting and an -additional 10 degrees-of-freedom are subtracted. You may also wish to -manually subtract additional degrees-of-freedom if you use the {force} -and {torque} keywords to eliminate certain motions of the rigid body. -Alternatively, you can define the temperature "compute"_compute.html -to exclude atoms in rigid bodies, which may be a better strategy, -i.e. measure the temperature of the free atoms around the rigid body -or bodies. +If you do calculate a temperature for the rigid bodies, the +degrees-of-freedom removed by each rigid body are accounted for in the +temperature (and pressure) computation, but only if the temperature +group includes the entire rigid body. Rigid bodies in 3d have 6 +degrees of freedom (3 translational, 3 rotational), except for dimers +which only have 5. Rigid bodies in 2d have 3 degrees of freedom. +Note that linear rigid bodies in 3d of three or more atoms also have 5 +degrees of freedom instead of 6, but LAMMPS will not detect this. So +you should use the "compute_modify"_compute_modify.html command to +subtract an additional degree of freedom per rigid body. You may also +wish to explicitly subtract additional degrees-of-freedom if you use +the {force} and {torque} keywords to eliminate certain motions of the +rigid body, as LAMMPS does not do this automatically. + +The rigid body contribution to the pressure of the system (virial) is +also accounted for by this fix. IMPORTANT NOTE: The periodic image flags of atoms in rigid bodies are modified when the center-of-mass of the rigid body moves across a