diff -Naur lammps-3Jul09/doc/Section_errors.html lammps-4Jul09/doc/Section_errors.html --- lammps-3Jul09/doc/Section_errors.html 2009-03-26 09:16:32.000000000 -0600 +++ lammps-4Jul09/doc/Section_errors.html 2009-07-01 14:28:51.000000000 -0600 @@ -556,13 +556,34 @@
The create_box command cannot be used after a read_data, read_restart, or create_box command. +
Cannot delete group all + +
Self-explanatory. + +
Cannot delete group currently used by a compute + +
Self-explanatory. + +
Cannot delete group currently used by a dump + +
Self-explanatory. + +
Cannot delete group currently used by a fix + +
Self-explanatory. + +
Cannot delete group currently used by atom_modify first + +
Self-explanatory. +
Cannot displace_box on a non-periodic boundary
Self-explanatory. -
Cannot dump scaled coords with triclinic box +
Cannot evaporate atoms in atom_modify first group -
Use dump custom with x,y,z instead. +
This is a restriction due to the way atoms are organized in +a list to enable the atom_modify first command.
Cannot find delete_bonds group ID @@ -651,11 +672,21 @@
The output file for the fix rdf command cannot be opened. Check that the path and name are correct. +
Cannot open fix reax/bonds file %s + +
The output file for the fix reax/bonds command cannot be opened. +Check that the path and name are correct. +
Cannot open fix tmd file %s
The output file for the fix tmd command cannot be opened. Check that the path and name are correct. +
Cannot open fix ttm file %s + +
The output file for the fix ttm command cannot be opened. Check that +the path and name are correct. +
Cannot open gzipped file
LAMMPS is attempting to open a gzipped version of the specified file @@ -834,6 +865,10 @@
Self-explanatory. +
Cannot use fix box/relax on a non-periodic dimension + +
Only periodic dimensions can be controlled with this fix. +
Cannot use fix deform trate on a box with zero tilt
The trate style alters the current strain. @@ -850,10 +885,6 @@
This feature is not yet supported. -
Cannot use fix nph without per-type mass defined - -
The defined atom style uses per-atom mass, not per-type mass. -
Cannot use fix npt and fix deform on same dimension
These commands both change the box size/shape, so you cannot use both @@ -867,14 +898,6 @@
This feature is not yet supported. -
Cannot use fix npt without per-type mass defined - -
The defined atom style uses per-atom mass, not per-type mass. - -
Cannot use fix nvt without per-type mass defined - -
The defined atom style uses per-atom mass, not per-type mass. -
Cannot use fix pour with triclinic box
This feature is not yet supported. @@ -891,22 +914,21 @@
Self-explanatory. -
Cannot use fix press/berendsen without per-type mass defined - -
Self-explanatory. - -
Cannot use fix rigid without per-type mass defined +
Cannot use fix reax/bonds without pair_style reax -
This is a current restriction on the kinds of atoms fix rigid can -be used with. +
Self-explantory.
Cannot use fix shake with non-molecular system
Your choice of atom style does not have bonds. -
Cannot use fix temp/berendsen without per-type mass defined +
Cannot use fix ttm with 2d simulation -
Self-explanatory. +
This is a current restriction of this fix due to the grid it creates. + +
Cannot use fix ttm with triclinic box + +
This is a current restriction of this fix due to the grid it creates.
Cannot use kspace solver on system with no charge @@ -918,6 +940,10 @@ the simulation box is very small in some dimension, compared to the neighbor cutoff. Use the "nsq" style instead of "bin" style. +
Cannot use nonperiodic boundares with fix ttm + +
This fix requires a fully periodic simulation box. +
Cannot use nonperiodic boundaries with Ewald
For kspace style ewald, all 3 dimensions must have periodic boundaries @@ -974,6 +1000,16 @@
Self-explanatory. +
Compute erotate/asphere requires extended particles + +
This quantity can only be calculated for particles with a shape +setting. + +
Compute temp/asphere requires extended particles + +
This quantity can only be calculated for particles with a shape +setting. +
Compute ID for compute reduce does not exist
Self-explanatory. @@ -999,35 +1035,44 @@
This is because the computation of the centro-symmetry values uses a pairwise neighbor list. +
Compute cna/atom cutoff is longer than pairwise cutoff + +
Self-explantory. + +
Compute cna/atom requires a pair style be defined + +
Self-explantory. +
Compute coord/atom cutoff is longer than pairwise cutoff
Cannot compute coordination at distances longer than the pair cutoff, since those atoms are not in the neighbor list. +
Compute coord/atom requires a pair style be defined + +
Self-explantory. +
Compute damage/atom requires peridynamic potential
Damage is a Peridynamic-specific metric. It requires you to be running a Peridynamics simulation. -
Compute erotate/asphere requires atom attribute shape +
Compute erotate/asphere cannot be used with atom attributes diameter or rmass -
An atom style that specifies atom shape is needed. +
These attributes override the shape and mass settings, so cannot be +used. -
Compute erotate/asphere requires atom attributes angmom, quat +
Compute erotate/asphere requires atom attributes angmom, quat, shape -
An atom style is needed that has these attributes. +
An atom style that defines these attributes must be used.
Compute erotate/sphere requires atom attribute omega -
An atom style is needed that has this attribute. +
An atom style that defines this attribute must be used. -
Compute erotate/sphere requires atom attribute shape +
Compute erotate/sphere requires atom attribute radius or shape -
An atom style that specifies atom shape is needed. - -
Compute erotate/sphere requires atom attributes radius, rmass - -
An atom style is needed that has these attributes. +
An atom style that defines these attributes must be used.
Compute erotate/sphere requires spherical particle shapes @@ -1037,11 +1082,6 @@
Self-explanatory. -
Compute group/group requires a pair style be defined - -
This is because the computation of the group-group interactions uses a -pairwise neighbor list. -
Compute pe must use group all
Energies computed by potentials (pair, bond, etc) are computed on all @@ -1081,17 +1121,42 @@
Self-explanatory. +
Compute reduce region ID does not exist + +
Self-explanatory. +
Compute reduce variable is not atom-style variable
Self-explanatory. -
Compute temp/asphere requires atom attributes quat, angmom +
Compute temp/asphere cannot be used with atom attributes diameter or rmass -
The atom style defined does not have these attributes. +
These attributes override the shape and mass settings, so cannot be +used. + +
Compute temp/asphere requires atom attributes angmom, quat, shape + +
An atom style that defines these attributes must be used. + +
Compute temp/partial cannot use vz for 2d systems + +
Self-explanatory. + +
Compute temp/profile cannot use vz for 2d systems + +
Self-explanatory. + +
Compute temp/profile cannot bin z for 2d systems + +
Self-explanatory.
Compute temp/sphere requires atom attribute omega -
An atom style is needed that has this attributes. +
An atom style that defines this attribute must be used. + +
Compute temp/sphere requires atom attribute radius or shape + +
An atom style that defines these attributes must be used.
Compute temp/sphere requires spherical particle shapes @@ -1165,6 +1230,10 @@
Self-explanatory. +
Could not find group delete ID + +
Self-explanatory. +
Could not find delete_atoms group ID
Group ID used in the delete_atoms command does not exist. @@ -1175,11 +1244,11 @@
Could not find displace_atoms group ID -
A group ID used in the displace_atoms command does not exist. +
Group ID used in the displace_atoms command does not exist.
Could not find displace_box group ID -
Self-explanatory. +
Group ID used in the displace_box command does not exist.
Could not find dump custom compute ID @@ -1218,15 +1287,11 @@
A group ID used in the fix rigid command does not exist. -
Could not find fix spring couple group ID - -
Self-explanatory. -
Could not find fix_modify ID
A fix ID used in the fix_modify command does not exist. -
Could not find fix_modify press ID +
Could not find fix_modify pressure ID
The compute ID for computing pressure does not exist. @@ -1283,6 +1348,11 @@
The compute ID needed by the velocity command to compute temperature does not exist. +
Could not set finite-size particle attribute in fix rigid + +
The particle has a finite size but its attributes could not be +determined. +
Coulomb cutoffs of pair hybrid sub-styles do not match
If using a Kspace solver, all Coulomb cutoffs of long pair styles must @@ -1550,6 +1620,10 @@
The chosen atom style does not define the per-atom vector being dumped. +
Electronic temperature dropped below zero + +
Something has gone wrong with the fix ttm electron temperature model. +
Empty brackets in variable formula
A value inside the brackets is required for this formula element. @@ -1755,6 +1829,10 @@
Self-explanatory +
Fix evaporate region ID does not exist + +
Self-explanatory +
Fix for fix ave/atom not computed at compatible time
Fixes generate their values on specific timesteps. Fix ave/atom is @@ -1808,41 +1886,50 @@
The time window for temperature or pressure relaxation must be > 0 +
Fix npt/asphere cannot be used with atom attributes diameter or rmass + +
An atom style that defines these attributes must be used. +
Fix npt/asphere requires atom attributes quat, angmom, torque, shape
An atom style that specifies these quantities is needed. -
Fix npt/sphere requires atom attribute shape +
Fix npt/sphere requires atom attribute radius or shape -
An atom style that specifies atom shape is needed. +
An atom style that defines these attributes must be used.
Fix npt/sphere requires atom attributes omega, torque
An atom style that specifies these quantities is needed. -
Fix npt/sphere requires spherical particle shapes +
Fix nve/asphere cannot be used with atom attributes diameter or rmass -
Self-explanatory. +
These attributes override the shape and mass settings, so cannot be +used. -
Fix nve/asphere requires atom attributes quat, angmom, torque, shape +
Fix nve/asphere requires atom attributes angmom, quat, torque, shape
An atom style that specifies these quantities is needed. +
Fix nve/asphere requires extended particles + +
This fix can only be used for particles with a shape setting. +
Fix nve/sphere requires atom attribute mu
An atom style with this attribute is needed. -
Fix nve/sphere requires atom attribute shape +
Fix nve/sphere requires atom attribute radius or shape -
An atom style with this attribute is needed. +
An atom style that specifies these quantities is needed.
Fix nve/sphere requires atom attributes omega, torque
An atom style with these attributes is needed. -
Fix nve/sphere requires atom attributes radius, rmass +
Fix nve/sphere requires extended particles -
An atom style with these attributes is needed. +
This fix can only be used for particles of a finite size.
Fix nve/sphere requires spherical particle shapes @@ -1852,18 +1939,31 @@
The time window for temperature relaxation must be > 0 +
Fix nvt/asphere cannot be used with atom attributes diameter or rmass + +
These attributes override the shape and mass settings, so cannot be +used. +
Fix nvt/asphere requires atom attributes quat, angmom, torque, shape
An atom style that specifies these quantities is needed. -
Fix nvt/sphere requires atom attribute shape +
Fix nvt/asphere requires extended particles -
An atom style with this attribute is needed. +
This fix can only be used for particles of a finite size. + +
Fix nvt/sphere requires atom attribute radius or shape + +
An atom style with these attributes is needed.
Fix nvt/sphere requires atom attributes omega, torque
An atom style with these attributes is needed. +
Fix nvt/sphere requires extended particles + +
This fix can only be used for particles of a finite size. +
Fix nvt/sphere requires spherical particle shapes
Self-explanatory. @@ -1914,6 +2014,10 @@
Cannot use fix shake while doing an energy minimization since it turns off bonds that should contribute to the energy. +
Fix spring couple group ID does not exist + +
Self-explanatory. +
Fix temp/berendsen period must be > 0.0
Self-explanatory. @@ -1928,6 +2032,42 @@ integration fixes (nve, nvt, npt). See the fix tmd documentation for details. +
Fix ttm electron temperatures must be > 0.0 + +
Self-explanatory. + +
Fix ttm electronic_density must be > 0.0 + +
Self-explanatory. + +
Fix ttm electronic_specific_heat must be > 0.0 + +
Self-explanatory. + +
Fix ttm electronic_thermal_conductivity must be >= 0.0 + +
Self-explanatory. + +
Fix ttm gamma_p must be > 0.0 + +
Self-explanatory. + +
Fix ttm gamma_s must be >= 0.0 + +
Self-explanatory. + +
Fix ttm number of nodes must be > 0 + +
Self-explanatory. + +
Invalid random number seed in fix ttm command + +
Random number seed must be > 0. + +
Fix ttm v_0 must be >= 0.0 + +
Self-explanatory. +
Fix used in compute reduce not computed at compatible time
Fixes generate their values on specific timesteps. Compute sum is @@ -1954,7 +2094,7 @@
The atom style defined does not have these attributes. -
Fix_modify press ID does not compute pressure +
Fix_modify pressure ID does not compute pressure
The compute ID assigned to the fix must compute pressure. @@ -2175,6 +2315,10 @@
The final tilt value must be between -1/2 and 1/2 of the perpendicular box length. +
Initial temperatures not all set in fix ttm + +
Self-explantory. +
Input line too long after variable substitution
This is a hard (very large) limit defined in the input.cpp file. @@ -2590,10 +2734,18 @@
Length of read-in pair table is invalid +
Invalid radius in Atoms section of data file + +
Radius must be >= 0.0. +
Invalid random number seed in set command
Random number seed must be > 0. +
Invalid region in group function in variable formula + +
Self-explanatory. +
Invalid region style
The choice of region style is unknown. @@ -3155,14 +3307,18 @@
An atom style that stores this, like atom_style dpd, must be used. +
Pair gayberne cannot be used with atom attribute diameter + +
Finite-size particles must be defined with the shape command. +
Pair gayberne epsilon a,b,c coeffs are not all set
Each atom type involved in pair_style gayberne must have these 3 coefficients set at least once. -
Pair gayberne requires atom attributes quat, torque +
Pair gayberne requires atom attributes quat, torque, shape -
The atom style defined does not have these attributes. +
An atom style that defines these attributes must be used.
Pair granular requires atom attributes radius, omega, torque @@ -3192,15 +3348,25 @@
The specified cutoffs for the pair style are inconsistent. -
Pair lubricate requires atom attributes torque, shape +
Pair lubricate cannot be used with atom attributes diameter or rmass + +
These attributes override the shape and mass settings, so cannot be +used. + +
Pair lubricate requires atom attributes quat, torque, shape + +
An atom style that defines these attributes must be used. + +
Pair lubricate requires extended particles -
Use a different atom style. +
This pair style can only be used for particles with a shape +setting.
Pair lubricate requires mono-disperse particles
This is a current restriction of this pair style. -
Pair lubricate requires spherical particles +
Pair lubricate requires spherical, mono-disperse particles
This is a current restriction of this pair style. @@ -3217,6 +3383,10 @@
Even for atomic systems, an atom map is required to find Peridynamic bonds. Use the atom_modify command to define one. +
Pair resquared cannot be used with atom attribute diameter + +
This attribute overrides the shape settings, so cannot be used. +
Pair resquared epsilon a,b,c coeffs are not all set
Self-explanatory. @@ -3225,13 +3395,13 @@
Self-explanatory. -
Pair resquared requires atom attributes quat, torque +
Pair resquared requires atom attributes quat, torque, shape -
Use a different atom style. +
An atom style that defines these attributes must be used.
Pair style AIREBO requires atom IDs -
Self-explanatory. +
This is a requirement to use the AIREBO potential.
Pair style AIREBO requires newton pair on @@ -3260,6 +3430,10 @@
See the newton command. This is a restriction to use the Tersoff potential. +
Pair style born/coul/long requires atom attribute q + +
An atom style that defines this attribute must be used. +
Pair style buck/coul/cut requires atom attribute q
The atom style defined does not have this attribute. @@ -3277,10 +3451,20 @@
The pair style does not have a single() function, so it can not be invoked by bond_style quartic. +
Pair style does not support compute group/group + +

The pair_style does not have a single() function, so it cannot be +invokded by the compute group/group command. +

+
Pair style does not support fix bond/swap + +

The pair_style does not have a single() function, so it cannot be +invokded by the fix bond/swap command. +

Pair style does not support pair_write -
The pair style does not have a single() function, so it can -not be invoked by the pair_write command. +
The pair style does not have a single() function, so it cannot be +invoked by the pair_write command.
Pair style does not support rRESPA inner/middle/outer @@ -3357,6 +3541,14 @@
This is because atom style peri stores quantities needed by the peridynamic potential. +
Pair style reax requires atom IDs + +
This is a requirement to use the ReaxFF potential. + +
Pair style reax requires newton pair on + +
This is a requirement to use the ReaxFF potential. +
Pair table cutoffs must all be equal to use with KSpace
When using pair style table with a long-range KSpace solver, the @@ -3422,26 +3614,35 @@
Self-explanatory. -
Press ID for fix nph does not exist +
Pressure ID for fix box/relax does not exist
The compute ID needed to compute pressure for the fix does not exist. -
Press ID for fix npt does not exist +
Pressure ID for fix nph does not exist
The compute ID needed to compute pressure for the fix does not exist. -
Press ID for fix press/berendsen does not exist +
Pressure ID for fix npt does not exist
The compute ID needed to compute pressure for the fix does not exist. -
Press ID for thermo does not exist +
Pressure ID for fix press/berendsen does not exist + +
The compute ID needed to compute pressure for the fix does not +exist. + +
Pressure ID for thermo does not exist
The compute ID needed to compute pressure for thermodynamics does not exist. +
Pressure ID for fix modify does not exist + +
Self-explanatory. +
Proc grid in z != 1 for 2d simulation
There cannot be more than 1 processor in the z dimension of a 2d @@ -3648,30 +3849,35 @@
Self-explanatory. -
Temp ID for fix nph does not exist +
Temperature ID for fix box/relax does not exist + +
The compute ID needed to compute temperature for the fix does not +exist. + +
Temperature ID for fix nph does not exist
The compute ID needed to compute temperature for the fix does not exist. -
Temp ID for fix npt does not exist +
Temperature ID for fix npt does not exist
The compute ID needed to compute temperature for the fix does not exist. -
Temp ID for fix nvt does not exist +
Temperature ID for fix nvt does not exist
The compute ID needed to compute temperature for the fix does not exist. -
Temp ID for fix press/berendsen does not exist +
Temperature ID for fix press/berendsen does not exist
Self-explanatory. -
Temp ID for fix temp/berendsen does not exist +
Temperature ID for fix temp/berendsen does not exist
Self-explanatory. -
Temp ID for fix temp/rescale does not exist +
Temperature ID for fix temp/rescale does not exist
The compute ID needed to compute temperature for the fix does not exist. @@ -4120,6 +4326,10 @@
It is not efficient to use compute centro/atom more than once. +
More than one compute cna/atom defined + +
It is not efficient to use compute cna/atom more than once. +
More than one compute coord/atom
It is not efficient to use compute coord/atom more than once. @@ -4144,6 +4354,14 @@
It is not efficient to use fix rigid more than once. +
New thermo_style command, previous thermo_modify settings will be lost + +
If a thermo_style command is used after a thermo_modify command, the +settings changed by the thermo_modify command will be reset to their +default values. This is because the thermo_modify commmand acts on +the currently defined thermo style, and a thermo_style command creates +a new style. +
No fixes defined, atoms won't move
If you are not using a fix like nve, nvt, npt then atom velocities and @@ -4155,6 +4373,11 @@ will integrate the body motion, but it would be more efficient to use fix rigid. +
Not using real units with pair reax + +
This is most likely an error, unless you have created your own ReaxFF +parameter file in a different set of units. +
One or more atoms are time integrated more than once
This is probably an error since you typically do not want to @@ -4208,6 +4431,19 @@ of your restarted simulation may diverge a little more quickly than if you ran on the same # of processors. +
Restart file used different boundary settings, using restart file values + +

Your input script cannot change these settings in the restart file. +

+
Restart file used different newton bond setting, using restart file value + +

Your input script cannot change this setting in the restart file. +

+
Restart file used different newton pair setting, using input script value + +

Your input script can change this setting in the restart file, but you +may not wish to do so. +

Restart file version does not match LAMMPS version
The version of LAMMPS that wrote the restart file does not match the @@ -4254,13 +4490,17 @@ assumed to also be for all atoms. Thus the pressure printed by thermo could be inaccurate. +
Too many inner timesteps in fix ttm + +
Self-explanatory. +
Use special bonds = 0,1,1 with bond style fene/expand -
Most FENE models use this setting for the special_bonds command. +
Most FENE models need this setting for the special_bonds command.
Use special bonds = 0,1,1 with bond style fene -
Most FENE models use this setting for the special_bonds command. +
Most FENE models need this setting for the special_bonds command.
Using compute temp/deform with inconsistent fix deform remap option @@ -4269,7 +4509,8 @@
Using compute temp/deform with no fix deform defined -
Self-explanatory. +
This is probably an error, since it makes little sense to use +compute temp/deform in this case.
Using pair tail corrections with nonperiodic system diff -Naur lammps-3Jul09/doc/Section_errors.txt lammps-4Jul09/doc/Section_errors.txt --- lammps-3Jul09/doc/Section_errors.txt 2009-03-26 09:16:32.000000000 -0600 +++ lammps-4Jul09/doc/Section_errors.txt 2009-07-01 14:28:51.000000000 -0600 @@ -553,13 +553,34 @@ The create_box command cannot be used after a read_data, read_restart, or create_box command. :dd +{Cannot delete group all} :dt + +Self-explanatory. :dd + +{Cannot delete group currently used by a compute} :dt + +Self-explanatory. :dd + +{Cannot delete group currently used by a dump} :dt + +Self-explanatory. :dd + +{Cannot delete group currently used by a fix} :dt + +Self-explanatory. :dd + +{Cannot delete group currently used by atom_modify first} :dt + +Self-explanatory. :dd + {Cannot displace_box on a non-periodic boundary} :dt Self-explanatory. :dd -{Cannot dump scaled coords with triclinic box} :dt +{Cannot evaporate atoms in atom_modify first group} :dt -Use dump custom with x,y,z instead. :dd +This is a restriction due to the way atoms are organized in +a list to enable the atom_modify first command. :dd {Cannot find delete_bonds group ID} :dt @@ -648,11 +669,21 @@ The output file for the fix rdf command cannot be opened. Check that the path and name are correct. :dd +{Cannot open fix reax/bonds file %s} :dt + +The output file for the fix reax/bonds command cannot be opened. +Check that the path and name are correct. :dd + {Cannot open fix tmd file %s} :dt The output file for the fix tmd command cannot be opened. Check that the path and name are correct. :dd +{Cannot open fix ttm file %s} :dt + +The output file for the fix ttm command cannot be opened. Check that +the path and name are correct. :dd + {Cannot open gzipped file} :dt LAMMPS is attempting to open a gzipped version of the specified file @@ -831,6 +862,10 @@ Self-explanatory. :dd +{Cannot use fix box/relax on a non-periodic dimension} :dt + +Only periodic dimensions can be controlled with this fix. :dd + {Cannot use fix deform trate on a box with zero tilt} :dt The trate style alters the current strain. :dd @@ -847,10 +882,6 @@ This feature is not yet supported. :dd -{Cannot use fix nph without per-type mass defined} :dt - -The defined atom style uses per-atom mass, not per-type mass. :dd - {Cannot use fix npt and fix deform on same dimension} :dt These commands both change the box size/shape, so you cannot use both @@ -864,14 +895,6 @@ This feature is not yet supported. :dd -{Cannot use fix npt without per-type mass defined} :dt - -The defined atom style uses per-atom mass, not per-type mass. :dd - -{Cannot use fix nvt without per-type mass defined} :dt - -The defined atom style uses per-atom mass, not per-type mass. :dd - {Cannot use fix pour with triclinic box} :dt This feature is not yet supported. :dd @@ -888,22 +911,21 @@ Self-explanatory. :dd -{Cannot use fix press/berendsen without per-type mass defined} :dt +{Cannot use fix reax/bonds without pair_style reax} :dt -Self-explanatory. :dd - -{Cannot use fix rigid without per-type mass defined} :dt - -This is a current restriction on the kinds of atoms fix rigid can -be used with. :dd +Self-explantory. :dd {Cannot use fix shake with non-molecular system} :dt Your choice of atom style does not have bonds. :dd -{Cannot use fix temp/berendsen without per-type mass defined} :dt +{Cannot use fix ttm with 2d simulation} :dt -Self-explanatory. :dd +This is a current restriction of this fix due to the grid it creates. :dd + +{Cannot use fix ttm with triclinic box} :dt + +This is a current restriction of this fix due to the grid it creates. :dd {Cannot use kspace solver on system with no charge} :dt @@ -915,6 +937,10 @@ the simulation box is very small in some dimension, compared to the neighbor cutoff. Use the "nsq" style instead of "bin" style. :dd +{Cannot use nonperiodic boundares with fix ttm} :dt + +This fix requires a fully periodic simulation box. :dd + {Cannot use nonperiodic boundaries with Ewald} :dt For kspace style ewald, all 3 dimensions must have periodic boundaries @@ -971,6 +997,16 @@ Self-explanatory. :dd +{Compute erotate/asphere requires extended particles} :dt + +This quantity can only be calculated for particles with a shape +setting. :dd + +{Compute temp/asphere requires extended particles} :dt + +This quantity can only be calculated for particles with a shape +setting. :dd + {Compute ID for compute reduce does not exist} :dt Self-explanatory. :dd @@ -996,35 +1032,44 @@ This is because the computation of the centro-symmetry values uses a pairwise neighbor list. :dd +{Compute cna/atom cutoff is longer than pairwise cutoff} :dt + +Self-explantory. :dd + +{Compute cna/atom requires a pair style be defined} :dt + +Self-explantory. :dd + {Compute coord/atom cutoff is longer than pairwise cutoff} :dt Cannot compute coordination at distances longer than the pair cutoff, since those atoms are not in the neighbor list. :dd +{Compute coord/atom requires a pair style be defined} :dt + +Self-explantory. :dd + {Compute damage/atom requires peridynamic potential} :dt Damage is a Peridynamic-specific metric. It requires you to be running a Peridynamics simulation. :dd -{Compute erotate/asphere requires atom attribute shape} :dt +{Compute erotate/asphere cannot be used with atom attributes diameter or rmass} :dt -An atom style that specifies atom shape is needed. :dd +These attributes override the shape and mass settings, so cannot be +used. :dd -{Compute erotate/asphere requires atom attributes angmom, quat} :dt +{Compute erotate/asphere requires atom attributes angmom, quat, shape} :dt -An atom style is needed that has these attributes. :dd +An atom style that defines these attributes must be used. :dd {Compute erotate/sphere requires atom attribute omega} :dt -An atom style is needed that has this attribute. :dd - -{Compute erotate/sphere requires atom attribute shape} :dt - -An atom style that specifies atom shape is needed. :dd +An atom style that defines this attribute must be used. :dd -{Compute erotate/sphere requires atom attributes radius, rmass} :dt +{Compute erotate/sphere requires atom attribute radius or shape} :dt -An atom style is needed that has these attributes. :dd +An atom style that defines these attributes must be used. :dd {Compute erotate/sphere requires spherical particle shapes} :dt @@ -1034,11 +1079,6 @@ Self-explanatory. :dd -{Compute group/group requires a pair style be defined} :dt - -This is because the computation of the group-group interactions uses a -pairwise neighbor list. :dd - {Compute pe must use group all} :dt Energies computed by potentials (pair, bond, etc) are computed on all @@ -1078,17 +1118,42 @@ Self-explanatory. :dd +{Compute reduce region ID does not exist} :dt + +Self-explanatory. :dd + {Compute reduce variable is not atom-style variable} :dt Self-explanatory. :dd -{Compute temp/asphere requires atom attributes quat, angmom} :dt +{Compute temp/asphere cannot be used with atom attributes diameter or rmass} :dt -The atom style defined does not have these attributes. :dd +These attributes override the shape and mass settings, so cannot be +used. :dd + +{Compute temp/asphere requires atom attributes angmom, quat, shape} :dt + +An atom style that defines these attributes must be used. :dd + +{Compute temp/partial cannot use vz for 2d systems} :dt + +Self-explanatory. :dd + +{Compute temp/profile cannot use vz for 2d systems} :dt + +Self-explanatory. :dd + +{Compute temp/profile cannot bin z for 2d systems} :dt + +Self-explanatory. :dd {Compute temp/sphere requires atom attribute omega} :dt -An atom style is needed that has this attributes. :dd +An atom style that defines this attribute must be used. :dd + +{Compute temp/sphere requires atom attribute radius or shape} :dt + +An atom style that defines these attributes must be used. :dd {Compute temp/sphere requires spherical particle shapes} :dt @@ -1162,6 +1227,10 @@ Self-explanatory. :dd +{Could not find group delete ID} :dt + +Self-explanatory. :dd + {Could not find delete_atoms group ID} :dt Group ID used in the delete_atoms command does not exist. :dd @@ -1172,11 +1241,11 @@ {Could not find displace_atoms group ID} :dt -A group ID used in the displace_atoms command does not exist. :dd +Group ID used in the displace_atoms command does not exist. :dd {Could not find displace_box group ID} :dt -Self-explanatory. :dd +Group ID used in the displace_box command does not exist. :dd {Could not find dump custom compute ID} :dt @@ -1215,15 +1284,11 @@ A group ID used in the fix rigid command does not exist. :dd -{Could not find fix spring couple group ID} :dt - -Self-explanatory. :dd - {Could not find fix_modify ID} :dt A fix ID used in the fix_modify command does not exist. :dd -{Could not find fix_modify press ID} :dt +{Could not find fix_modify pressure ID} :dt The compute ID for computing pressure does not exist. :dd @@ -1280,6 +1345,11 @@ The compute ID needed by the velocity command to compute temperature does not exist. :dd +{Could not set finite-size particle attribute in fix rigid} :dt + +The particle has a finite size but its attributes could not be +determined. :dd + {Coulomb cutoffs of pair hybrid sub-styles do not match} :dt If using a Kspace solver, all Coulomb cutoffs of long pair styles must @@ -1547,6 +1617,10 @@ The chosen atom style does not define the per-atom vector being dumped. :dd +{Electronic temperature dropped below zero} :dt + +Something has gone wrong with the fix ttm electron temperature model. :dd + {Empty brackets in variable formula} :dt A value inside the brackets is required for this formula element. :dd @@ -1752,6 +1826,10 @@ Self-explanatory :dd +{Fix evaporate region ID does not exist} :dt + +Self-explanatory :dd + {Fix for fix ave/atom not computed at compatible time} :dt Fixes generate their values on specific timesteps. Fix ave/atom is @@ -1805,41 +1883,50 @@ The time window for temperature or pressure relaxation must be > 0 :dd +{Fix npt/asphere cannot be used with atom attributes diameter or rmass} :dt + +An atom style that defines these attributes must be used. :dd + {Fix npt/asphere requires atom attributes quat, angmom, torque, shape} :dt An atom style that specifies these quantities is needed. :dd -{Fix npt/sphere requires atom attribute shape} :dt +{Fix npt/sphere requires atom attribute radius or shape} :dt -An atom style that specifies atom shape is needed. :dd +An atom style that defines these attributes must be used. :dd {Fix npt/sphere requires atom attributes omega, torque} :dt An atom style that specifies these quantities is needed. :dd -{Fix npt/sphere requires spherical particle shapes} :dt +{Fix nve/asphere cannot be used with atom attributes diameter or rmass} :dt -Self-explanatory. :dd +These attributes override the shape and mass settings, so cannot be +used. :dd -{Fix nve/asphere requires atom attributes quat, angmom, torque, shape} :dt +{Fix nve/asphere requires atom attributes angmom, quat, torque, shape} :dt An atom style that specifies these quantities is needed. :dd +{Fix nve/asphere requires extended particles} :dt + +This fix can only be used for particles with a shape setting. :dd + {Fix nve/sphere requires atom attribute mu} :dt An atom style with this attribute is needed. :dd -{Fix nve/sphere requires atom attribute shape} :dt +{Fix nve/sphere requires atom attribute radius or shape} :dt -An atom style with this attribute is needed. :dd +An atom style that specifies these quantities is needed. :dd {Fix nve/sphere requires atom attributes omega, torque} :dt An atom style with these attributes is needed. :dd -{Fix nve/sphere requires atom attributes radius, rmass} :dt +{Fix nve/sphere requires extended particles} :dt -An atom style with these attributes is needed. :dd +This fix can only be used for particles of a finite size. :dd {Fix nve/sphere requires spherical particle shapes} :dt @@ -1849,18 +1936,31 @@ The time window for temperature relaxation must be > 0 :dd +{Fix nvt/asphere cannot be used with atom attributes diameter or rmass} :dt + +These attributes override the shape and mass settings, so cannot be +used. :dd + {Fix nvt/asphere requires atom attributes quat, angmom, torque, shape} :dt An atom style that specifies these quantities is needed. :dd -{Fix nvt/sphere requires atom attribute shape} :dt +{Fix nvt/asphere requires extended particles} :dt -An atom style with this attribute is needed. :dd +This fix can only be used for particles of a finite size. :dd + +{Fix nvt/sphere requires atom attribute radius or shape} :dt + +An atom style with these attributes is needed. :dd {Fix nvt/sphere requires atom attributes omega, torque} :dt An atom style with these attributes is needed. :dd +{Fix nvt/sphere requires extended particles} :dt + +This fix can only be used for particles of a finite size. :dd + {Fix nvt/sphere requires spherical particle shapes} :dt Self-explanatory. :dd @@ -1911,6 +2011,10 @@ Cannot use fix shake while doing an energy minimization since it turns off bonds that should contribute to the energy. :dd +{Fix spring couple group ID does not exist} :dt + +Self-explanatory. :dd + {Fix temp/berendsen period must be > 0.0} :dt Self-explanatory. :dd @@ -1925,6 +2029,42 @@ integration fixes (nve, nvt, npt). See the fix tmd documentation for details. :dd +{Fix ttm electron temperatures must be > 0.0} :dt + +Self-explanatory. :dd + +{Fix ttm electronic_density must be > 0.0} :dt + +Self-explanatory. :dd + +{Fix ttm electronic_specific_heat must be > 0.0} :dt + +Self-explanatory. :dd + +{Fix ttm electronic_thermal_conductivity must be >= 0.0} :dt + +Self-explanatory. :dd + +{Fix ttm gamma_p must be > 0.0} :dt + +Self-explanatory. :dd + +{Fix ttm gamma_s must be >= 0.0} :dt + +Self-explanatory. :dd + +{Fix ttm number of nodes must be > 0} :dt + +Self-explanatory. :dd + +{Invalid random number seed in fix ttm command} :dt + +Random number seed must be > 0. :dd + +{Fix ttm v_0 must be >= 0.0} :dt + +Self-explanatory. :dd + {Fix used in compute reduce not computed at compatible time} :dt Fixes generate their values on specific timesteps. Compute sum is @@ -1951,7 +2091,7 @@ The atom style defined does not have these attributes. :dd -{Fix_modify press ID does not compute pressure} :dt +{Fix_modify pressure ID does not compute pressure} :dt The compute ID assigned to the fix must compute pressure. :dd @@ -2172,6 +2312,10 @@ The final tilt value must be between -1/2 and 1/2 of the perpendicular box length. :dd +{Initial temperatures not all set in fix ttm} :dt + +Self-explantory. :dd + {Input line too long after variable substitution} :dt This is a hard (very large) limit defined in the input.cpp file. :dd @@ -2587,10 +2731,18 @@ Length of read-in pair table is invalid :dd +{Invalid radius in Atoms section of data file} :dt + +Radius must be >= 0.0. :dd + {Invalid random number seed in set command} :dt Random number seed must be > 0. :dd +{Invalid region in group function in variable formula} :dt + +Self-explanatory. :dd + {Invalid region style} :dt The choice of region style is unknown. :dd @@ -3152,14 +3304,18 @@ An atom style that stores this, like atom_style dpd, must be used. :dd +{Pair gayberne cannot be used with atom attribute diameter} :dt + +Finite-size particles must be defined with the shape command. :dd + {Pair gayberne epsilon a,b,c coeffs are not all set} :dt Each atom type involved in pair_style gayberne must have these 3 coefficients set at least once. :dd -{Pair gayberne requires atom attributes quat, torque} :dt +{Pair gayberne requires atom attributes quat, torque, shape} :dt -The atom style defined does not have these attributes. :dd +An atom style that defines these attributes must be used. :dd {Pair granular requires atom attributes radius, omega, torque} :dt @@ -3189,15 +3345,25 @@ The specified cutoffs for the pair style are inconsistent. :dd -{Pair lubricate requires atom attributes torque, shape} :dt +{Pair lubricate cannot be used with atom attributes diameter or rmass} :dt + +These attributes override the shape and mass settings, so cannot be +used. :dd + +{Pair lubricate requires atom attributes quat, torque, shape} :dt + +An atom style that defines these attributes must be used. :dd + +{Pair lubricate requires extended particles} :dt -Use a different atom style. :dd +This pair style can only be used for particles with a shape +setting. :dd {Pair lubricate requires mono-disperse particles} :dt This is a current restriction of this pair style. :dd -{Pair lubricate requires spherical particles} :dt +{Pair lubricate requires spherical, mono-disperse particles} :dt This is a current restriction of this pair style. :dd @@ -3214,6 +3380,10 @@ Even for atomic systems, an atom map is required to find Peridynamic bonds. Use the atom_modify command to define one. :dd +{Pair resquared cannot be used with atom attribute diameter} :dt + +This attribute overrides the shape settings, so cannot be used. :dd + {Pair resquared epsilon a,b,c coeffs are not all set} :dt Self-explanatory. :dd @@ -3222,13 +3392,13 @@ Self-explanatory. :dd -{Pair resquared requires atom attributes quat, torque} :dt +{Pair resquared requires atom attributes quat, torque, shape} :dt -Use a different atom style. :dd +An atom style that defines these attributes must be used. :dd {Pair style AIREBO requires atom IDs} :dt -Self-explanatory. :dd +This is a requirement to use the AIREBO potential. :dd {Pair style AIREBO requires newton pair on} :dt @@ -3257,6 +3427,10 @@ See the newton command. This is a restriction to use the Tersoff potential. :dd +{Pair style born/coul/long requires atom attribute q} :dt + +An atom style that defines this attribute must be used. :dd + {Pair style buck/coul/cut requires atom attribute q} :dt The atom style defined does not have this attribute. :dd @@ -3274,10 +3448,20 @@ The pair style does not have a single() function, so it can not be invoked by bond_style quartic. :dd +{Pair style does not support compute group/group} :dt + +The pair_style does not have a single() function, so it cannot be +invokded by the compute group/group command. + +{Pair style does not support fix bond/swap} :dt + +The pair_style does not have a single() function, so it cannot be +invokded by the fix bond/swap command. + {Pair style does not support pair_write} :dt -The pair style does not have a single() function, so it can -not be invoked by the pair_write command. :dd +The pair style does not have a single() function, so it cannot be +invoked by the pair_write command. :dd {Pair style does not support rRESPA inner/middle/outer} :dt @@ -3354,6 +3538,14 @@ This is because atom style peri stores quantities needed by the peridynamic potential. :dd +{Pair style reax requires atom IDs} :dt + +This is a requirement to use the ReaxFF potential. :dd + +{Pair style reax requires newton pair on} :dt + +This is a requirement to use the ReaxFF potential. :dd + {Pair table cutoffs must all be equal to use with KSpace} :dt When using pair style table with a long-range KSpace solver, the @@ -3419,26 +3611,35 @@ Self-explanatory. :dd -{Press ID for fix nph does not exist} :dt +{Pressure ID for fix box/relax does not exist} :dt + +The compute ID needed to compute pressure for the fix does not +exist. :dd + +{Pressure ID for fix nph does not exist} :dt The compute ID needed to compute pressure for the fix does not exist. :dd -{Press ID for fix npt does not exist} :dt +{Pressure ID for fix npt does not exist} :dt The compute ID needed to compute pressure for the fix does not exist. :dd -{Press ID for fix press/berendsen does not exist} :dt +{Pressure ID for fix press/berendsen does not exist} :dt The compute ID needed to compute pressure for the fix does not exist. :dd -{Press ID for thermo does not exist} :dt +{Pressure ID for thermo does not exist} :dt The compute ID needed to compute pressure for thermodynamics does not exist. :dd +{Pressure ID for fix modify does not exist} :dt + +Self-explanatory. :dd + {Proc grid in z != 1 for 2d simulation} :dt There cannot be more than 1 processor in the z dimension of a 2d @@ -3645,30 +3846,35 @@ Self-explanatory. :dd -{Temp ID for fix nph does not exist} :dt +{Temperature ID for fix box/relax does not exist} :dt + +The compute ID needed to compute temperature for the fix does not +exist. :dd + +{Temperature ID for fix nph does not exist} :dt The compute ID needed to compute temperature for the fix does not exist. :dd -{Temp ID for fix npt does not exist} :dt +{Temperature ID for fix npt does not exist} :dt The compute ID needed to compute temperature for the fix does not exist. :dd -{Temp ID for fix nvt does not exist} :dt +{Temperature ID for fix nvt does not exist} :dt The compute ID needed to compute temperature for the fix does not exist. :dd -{Temp ID for fix press/berendsen does not exist} :dt +{Temperature ID for fix press/berendsen does not exist} :dt Self-explanatory. :dd -{Temp ID for fix temp/berendsen does not exist} :dt +{Temperature ID for fix temp/berendsen does not exist} :dt Self-explanatory. :dd -{Temp ID for fix temp/rescale does not exist} :dt +{Temperature ID for fix temp/rescale does not exist} :dt The compute ID needed to compute temperature for the fix does not exist. :dd @@ -4117,6 +4323,10 @@ It is not efficient to use compute centro/atom more than once. :dd +{More than one compute cna/atom defined} :dt + +It is not efficient to use compute cna/atom more than once. :dd + {More than one compute coord/atom} :dt It is not efficient to use compute coord/atom more than once. :dd @@ -4141,6 +4351,14 @@ It is not efficient to use fix rigid more than once. :dd +{New thermo_style command, previous thermo_modify settings will be lost} :dt + +If a thermo_style command is used after a thermo_modify command, the +settings changed by the thermo_modify command will be reset to their +default values. This is because the thermo_modify commmand acts on +the currently defined thermo style, and a thermo_style command creates +a new style. :dd + {No fixes defined, atoms won't move} :dt If you are not using a fix like nve, nvt, npt then atom velocities and @@ -4152,6 +4370,11 @@ will integrate the body motion, but it would be more efficient to use fix rigid. :dd +{Not using real units with pair reax} :dt + +This is most likely an error, unless you have created your own ReaxFF +parameter file in a different set of units. :dd + {One or more atoms are time integrated more than once} :dt This is probably an error since you typically do not want to @@ -4205,6 +4428,19 @@ of your restarted simulation may diverge a little more quickly than if you ran on the same # of processors. :dd +{Restart file used different boundary settings, using restart file values} :dt + +Your input script cannot change these settings in the restart file. + +{Restart file used different newton bond setting, using restart file value} :dt + +Your input script cannot change this setting in the restart file. + +{Restart file used different newton pair setting, using input script value} :dt + +Your input script can change this setting in the restart file, but you +may not wish to do so. + {Restart file version does not match LAMMPS version} :dt The version of LAMMPS that wrote the restart file does not match the @@ -4251,13 +4487,17 @@ assumed to also be for all atoms. Thus the pressure printed by thermo could be inaccurate. :dd +{Too many inner timesteps in fix ttm} :dt + +Self-explanatory. :dd + {Use special bonds = 0,1,1 with bond style fene/expand} :dt -Most FENE models use this setting for the special_bonds command. :dd +Most FENE models need this setting for the special_bonds command. :dd {Use special bonds = 0,1,1 with bond style fene} :dt -Most FENE models use this setting for the special_bonds command. :dd +Most FENE models need this setting for the special_bonds command. :dd {Using compute temp/deform with inconsistent fix deform remap option} :dt @@ -4266,7 +4506,8 @@ {Using compute temp/deform with no fix deform defined} :dt -Self-explanatory. :dd +This is probably an error, since it makes little sense to use +compute temp/deform in this case. :dd {Using pair tail corrections with nonperiodic system} :dt diff -Naur lammps-3Jul09/doc/Section_modify.html lammps-4Jul09/doc/Section_modify.html --- lammps-3Jul09/doc/Section_modify.html 2008-03-18 14:18:54.000000000 -0600 +++ lammps-4Jul09/doc/Section_modify.html 2009-06-30 13:06:26.000000000 -0600 @@ -324,13 +324,15 @@

Typically, only a small fraction of these methods are defined for a particular fix. Setmask is mandatory, as it determines when the fix will be invoked during the timestep. Fixes that perform time -integration (nve, nvt, npt) implement initial_integrate and -final_integrate to perform velocity Verlet updates. Fixes that -constrain forces implement post_force. Fixes that perform diagnostics -typically implement end_of_step. For an end_of_step fix, one of your -fix arguments must be the variable "nevery" which is used to determine -when to call the fix. By convention, this is the first argument the -fix defines (after the ID, group-ID, style). +integration (nve, nvt, npt) implement initial_integrate() and +final_integrate() to perform velocity Verlet updates. Fixes that +constrain forces implement post_force(). +

+

Fixes that perform diagnostics typically implement end_of_step(). For +an end_of_step fix, one of your fix arguments must be the variable +"nevery" which is used to determine when to call the fix and you must +set this variable in the constructor of your fix. By convention, this +is the first argument the fix defines (after the ID, group-ID, style).

If the fix needs to store information for each atom that persists from timestep to timestep, it can manage that memory and migrate the info diff -Naur lammps-3Jul09/doc/Section_modify.txt lammps-4Jul09/doc/Section_modify.txt --- lammps-3Jul09/doc/Section_modify.txt 2008-03-18 14:18:54.000000000 -0600 +++ lammps-4Jul09/doc/Section_modify.txt 2009-06-30 13:06:26.000000000 -0600 @@ -311,13 +311,15 @@ Typically, only a small fraction of these methods are defined for a particular fix. Setmask is mandatory, as it determines when the fix will be invoked during the timestep. Fixes that perform time -integration ({nve}, {nvt}, {npt}) implement initial_integrate and -final_integrate to perform velocity Verlet updates. Fixes that -constrain forces implement post_force. Fixes that perform diagnostics -typically implement end_of_step. For an end_of_step fix, one of your -fix arguments must be the variable "nevery" which is used to determine -when to call the fix. By convention, this is the first argument the -fix defines (after the ID, group-ID, style). +integration ({nve}, {nvt}, {npt}) implement initial_integrate() and +final_integrate() to perform velocity Verlet updates. Fixes that +constrain forces implement post_force(). + +Fixes that perform diagnostics typically implement end_of_step(). For +an end_of_step fix, one of your fix arguments must be the variable +"nevery" which is used to determine when to call the fix and you must +set this variable in the constructor of your fix. By convention, this +is the first argument the fix defines (after the ID, group-ID, style). If the fix needs to store information for each atom that persists from timestep to timestep, it can manage that memory and migrate the info diff -Naur lammps-3Jul09/doc/fix_indent.html lammps-4Jul09/doc/fix_indent.html --- lammps-3Jul09/doc/fix_indent.html 2008-11-13 08:34:21.000000000 -0700 +++ lammps-4Jul09/doc/fix_indent.html 2009-07-01 14:28:51.000000000 -0600 @@ -23,7 +23,7 @@

  • one or more keyword/value pairs may be appended -
  • keyword = sphere or cylinder or plane or vel or rstart or units +
  • keyword = sphere or cylinder or plane or vel or rstart or side or units
      sphere args = x y z R
         x,y,z = initial position of center of indenter (distance units)
    @@ -41,6 +41,9 @@
       rstart value = R0
         R0 = sphere or cylinder radius at start of run (distance units)
         R is value at end of run, so indenter expands/contracts over time
    +  side value = in or out
    +    in = the indenter acts on particles inside the sphere or cylinder
    +    out = the indenter acts on particles outside the sphere or cylinder
       units value = lattice or box
         lattice = the geometry is defined in lattice units
         box = the geometry is defined in simulation box units 
    @@ -56,7 +59,8 @@
     

    Insert an indenter within a simulation box. The indenter repels all atoms that touch it, so it can be used to push into a material or as -an obstacle in a flow. +an obstacle in a flow. Or it can be used as a constraining wall +around a simulation; see the discussion of the side keyword below.

    The indenter can either be spherical or cylindrical or planar. You must set one of those 3 keywords. @@ -92,11 +96,20 @@ at the specified velocity.

    If the rstart keyword is specified, then the radius of the indenter -is a time-dependent quantity. R0 is the value assigned at the start -of the run; R is the value at the end. At intermediate times, the -radius is linearly interpolated between these two values. This option -can be used, for example, to grow/shrink a void within the simulation -box. +is a time-dependent quantity. This only applies to spherical or +cylindrical indenters. R0 is the value assigned at the start of the +run; R is the value at the end. At intermediate times, the radius is +linearly interpolated between these two values. This option can be +used, for example, to grow/shrink a void within the simulation box. +

    +

    If the side keyword is specified as out, which is the default, +then particles outside the indenter are pushded away from its outer +surface, as described above. This only applies to spherical or +cylindrical indenters. If the side keyword is specified as in, +the action of the indenter is reversed. Particles inside the indenter +are pushed away from its inner surface. In other words, the indenter +is now a containing wall that traps the particles inside it. If the +radius shrinks over time, it will squeeze the particles.

    The units keyword determines the meaning of the distance units used to define the indenter. A box value selects standard distance units @@ -151,6 +164,6 @@

    Default:

    -

    The option defaults are vel = 0,0,0 and units = lattice. +

    The option defaults are vel = 0,0,0, side = out, and units = lattice.

    diff -Naur lammps-3Jul09/doc/fix_indent.txt lammps-4Jul09/doc/fix_indent.txt --- lammps-3Jul09/doc/fix_indent.txt 2008-11-13 08:34:21.000000000 -0700 +++ lammps-4Jul09/doc/fix_indent.txt 2009-07-01 14:28:51.000000000 -0600 @@ -16,7 +16,7 @@ indent = style name of this fix command :l k = force constant for indenter surface (force/distance^2 units) :l one or more keyword/value pairs may be appended :l -keyword = {sphere} or {cylinder} or {plane} or {vel} or {rstart} or {units} :l +keyword = {sphere} or {cylinder} or {plane} or {vel} or {rstart} or {side} or {units} :l {sphere} args = x y z R x,y,z = initial position of center of indenter (distance units) R = sphere radius of indenter (distance units) @@ -33,6 +33,9 @@ {rstart} value = R0 R0 = sphere or cylinder radius at start of run (distance units) R is value at end of run, so indenter expands/contracts over time + {side} value = {in} or {out} + {in} = the indenter acts on particles inside the sphere or cylinder + {out} = the indenter acts on particles outside the sphere or cylinder {units} value = {lattice} or {box} lattice = the geometry is defined in lattice units box = the geometry is defined in simulation box units :pre @@ -47,7 +50,8 @@ Insert an indenter within a simulation box. The indenter repels all atoms that touch it, so it can be used to push into a material or as -an obstacle in a flow. +an obstacle in a flow. Or it can be used as a constraining wall +around a simulation; see the discussion of the {side} keyword below. The indenter can either be spherical or cylindrical or planar. You must set one of those 3 keywords. @@ -83,11 +87,20 @@ at the specified velocity. If the {rstart} keyword is specified, then the radius of the indenter -is a time-dependent quantity. R0 is the value assigned at the start -of the run; R is the value at the end. At intermediate times, the -radius is linearly interpolated between these two values. This option -can be used, for example, to grow/shrink a void within the simulation -box. +is a time-dependent quantity. This only applies to spherical or +cylindrical indenters. R0 is the value assigned at the start of the +run; R is the value at the end. At intermediate times, the radius is +linearly interpolated between these two values. This option can be +used, for example, to grow/shrink a void within the simulation box. + +If the {side} keyword is specified as {out}, which is the default, +then particles outside the indenter are pushded away from its outer +surface, as described above. This only applies to spherical or +cylindrical indenters. If the {side} keyword is specified as {in}, +the action of the indenter is reversed. Particles inside the indenter +are pushed away from its inner surface. In other words, the indenter +is now a containing wall that traps the particles inside it. If the +radius shrinks over time, it will squeeze the particles. The {units} keyword determines the meaning of the distance units used to define the indenter. A {box} value selects standard distance units @@ -142,4 +155,4 @@ [Default:] -The option defaults are vel = 0,0,0 and units = lattice. +The option defaults are vel = 0,0,0, side = out, and units = lattice. diff -Naur lammps-3Jul09/doc/fix_rigid.html lammps-4Jul09/doc/fix_rigid.html --- lammps-3Jul09/doc/fix_rigid.html 2009-06-30 11:19:42.000000000 -0600 +++ lammps-4Jul09/doc/fix_rigid.html 2009-06-30 14:58:06.000000000 -0600 @@ -62,13 +62,14 @@ portions of a large biomolecule such as a protein.

    Example of small rigid bodies are patchy nanoparticles, such as those -modeled by the Glotzer group, clumps of granular particles, -lipid molecules consiting of one or more point dipoles connected to -other spheroids or ellipsoids, and coarse-grain models of nano or -colloidal particles consisting of a small number of constituent -particles. Note that the fix shake command can also be -used to rigidify small molecules of 2, 3, or 4 atoms, e.g. water -molecules. That fix treats the constituent atoms as point masses. +modeled in this paper by Sharon Glotzer's group, clumps of +granular particles, lipid molecules consiting of one or more point +dipoles connected to other spheroids or ellipsoids, and coarse-grain +models of nano or colloidal particles consisting of a small number of +constituent particles. Note that the fix shake +command can also be used to rigidify small molecules of 2, 3, or 4 +atoms, e.g. water molecules. That fix treats the constituent atoms as +point masses.

    The constituent particles within a rigid body can be point particles (the default in LAMMPS) or finite-size particles, such as spheroids @@ -164,19 +165,22 @@ (i.e. explicit solvent) by appropriate choice of groups in the compute and fix commands for temperature and thermostatting.

    -

    If you do calculate a temperature for the rigid bodies, the +

    If you 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. +

    +

    IMPORTANT NOTE: Linear rigid bodies are ones consisting of point +particles in a straight line. Linear rigid bodies in 3d with three or +more atoms also have 5 degrees of freedom instead of 6, but LAMMPS +will not detect this. Thus 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. @@ -249,7 +253,7 @@


    - +

    (Zhang) Zhang, Glotzer, Nanoletters, 4, 1407-1413 (2004).

    diff -Naur lammps-3Jul09/doc/fix_rigid.txt lammps-4Jul09/doc/fix_rigid.txt --- lammps-3Jul09/doc/fix_rigid.txt 2009-06-30 11:19:42.000000000 -0600 +++ lammps-4Jul09/doc/fix_rigid.txt 2009-06-30 14:58:06.000000000 -0600 @@ -53,13 +53,14 @@ portions of a large biomolecule such as a protein. Example of small rigid bodies are patchy nanoparticles, such as those -modeled by the "Glotzer group"_Glotzer, clumps of granular particles, -lipid molecules consiting of one or more point dipoles connected to -other spheroids or ellipsoids, and coarse-grain models of nano or -colloidal particles consisting of a small number of constituent -particles. Note that the "fix shake"_fix_shake command can also be -used to rigidify small molecules of 2, 3, or 4 atoms, e.g. water -molecules. That fix treats the constituent atoms as point masses. +modeled in "this paper"_#Zhang by Sharon Glotzer's group, clumps of +granular particles, lipid molecules consiting of one or more point +dipoles connected to other spheroids or ellipsoids, and coarse-grain +models of nano or colloidal particles consisting of a small number of +constituent particles. Note that the "fix shake"_fix_shake.html +command can also be used to rigidify small molecules of 2, 3, or 4 +atoms, e.g. water molecules. That fix treats the constituent atoms as +point masses. The constituent particles within a rigid body can be point particles (the default in LAMMPS) or finite-size particles, such as spheroids @@ -155,19 +156,22 @@ (i.e. explicit solvent) by appropriate choice of groups in the compute and fix commands for temperature and thermostatting. -If you do calculate a temperature for the rigid bodies, the +If you 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. + +IMPORTANT NOTE: Linear rigid bodies are ones consisting of point +particles in a straight line. Linear rigid bodies in 3d with three or +more atoms also have 5 degrees of freedom instead of 6, but LAMMPS +will not detect this. Thus 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. @@ -240,5 +244,5 @@ :line -:link(Glotzer_group) +:link(Zhang) [(Zhang)] Zhang, Glotzer, Nanoletters, 4, 1407-1413 (2004). diff -Naur lammps-3Jul09/doc/fix_viscous.html lammps-4Jul09/doc/fix_viscous.html --- lammps-3Jul09/doc/fix_viscous.html 2008-02-29 18:13:20.000000000 -0700 +++ lammps-4Jul09/doc/fix_viscous.html 2009-06-30 16:51:36.000000000 -0600 @@ -43,12 +43,13 @@

    Add a viscous damping force to atoms in the group that is proportional to the velocity of the atom. The added force can be thought of as a -frictional interaction with implicit solvent. In granular simulations -this can be useful for draining the kinetic energy from the system in -a controlled fashion. If used without additional thermostatting (to -add kinetic energy to the system), it has the effect of slowly (or -rapidly) freezing the system; hence it is a simple energy minimization -technique. +frictional interaction with implicit solvent, i.e. the no-slip Stokes +drag on a spherical particle. In granular simulations this can be +useful for draining the kinetic energy from the system in a controlled +fashion. If used without additional thermostatting (to add kinetic +energy to the system), it has the effect of slowly (or rapidly) +freezing the system; hence it can also be used as a simple energy +minimization technique.

    The damping force F is given by F = - gamma * velocity. The larger the coefficient, the faster the kinetic energy is reduced. If the @@ -56,24 +57,32 @@ specified factor for atoms of that type. It can be used multiple times to adjust gamma for several atom types.

    -

    In a Brownian dynamics context, gamma = kT / mD, where k = Boltzmann's -constant, T = temperature, m = particle mass, and D = particle -diffusion coefficient. D can be written as kT / (6 pi eta d), where -eta = viscosity of the frictional fluid and d = diameter of particle. -This means gamma = 6 pi eta d, and thus is proportional to the -viscosity of the fluid and the particle diameter. +

    IMPORTANT NOTE: You should specify gamma in force/velocity units. +This is not the same as mass/time units, at least for some of the +LAMMPS units options like "real" or "metal" that are not +self-consistent. +

    +

    In a Brownian dynamics context, gamma = kT / D, where k = Boltzmann's +constant, T = temperature, and D = particle diffusion coefficient. D +can be written as kT / (3 pi eta d), where eta = dynamic viscosity of +the frictional fluid and d = diameter of particle. This means gamma = +3 pi eta d, and thus is proportional to the viscosity of the fluid and +the particle diameter.

    In the current implementation, rather than have the user specify a -viscosity (in centiPoise or some other units), gamma is specified -directly in force/velocity units. If needed, gamma can be adjusted -for atoms of different sizes (i.e. sigma) by using the scale -keyword. +viscosity, gamma is specified directly in force/velocity units. If +needed, gamma can be adjusted for atoms of different sizes +(i.e. sigma) by using the scale keyword.

    Note that Brownian dynamics models also typically include a randomized force term to thermostat the system at a chosen temperature. The fix -langevin command adds both a viscous damping term -and this random force to each atom; hence if using fix langevin you -do not typically need to use fix viscous. +langevin command does this. It has the same +viscous damping term as fix viscous and adds a random force to each +atom. Hence if using fix langevin you do not typically need to use +fix viscous. Also note that the gamma of fix viscous is related to +the damping parameter of fix langevin, except that +the units of gamma are force/velocity and the units of damp are time, +so that it can more easily be used as a thermostat.

    Restart, fix_modify, output, run start/stop, minimize info:

    diff -Naur lammps-3Jul09/doc/fix_viscous.txt lammps-4Jul09/doc/fix_viscous.txt --- lammps-3Jul09/doc/fix_viscous.txt 2008-02-29 18:13:20.000000000 -0700 +++ lammps-4Jul09/doc/fix_viscous.txt 2009-06-30 16:51:36.000000000 -0600 @@ -33,12 +33,13 @@ Add a viscous damping force to atoms in the group that is proportional to the velocity of the atom. The added force can be thought of as a -frictional interaction with implicit solvent. In granular simulations -this can be useful for draining the kinetic energy from the system in -a controlled fashion. If used without additional thermostatting (to -add kinetic energy to the system), it has the effect of slowly (or -rapidly) freezing the system; hence it is a simple energy minimization -technique. +frictional interaction with implicit solvent, i.e. the no-slip Stokes +drag on a spherical particle. In granular simulations this can be +useful for draining the kinetic energy from the system in a controlled +fashion. If used without additional thermostatting (to add kinetic +energy to the system), it has the effect of slowly (or rapidly) +freezing the system; hence it can also be used as a simple energy +minimization technique. The damping force F is given by F = - gamma * velocity. The larger the coefficient, the faster the kinetic energy is reduced. If the @@ -46,24 +47,32 @@ specified factor for atoms of that type. It can be used multiple times to adjust gamma for several atom types. -In a Brownian dynamics context, gamma = kT / mD, where k = Boltzmann's -constant, T = temperature, m = particle mass, and D = particle -diffusion coefficient. D can be written as kT / (6 pi eta d), where -eta = viscosity of the frictional fluid and d = diameter of particle. -This means gamma = 6 pi eta d, and thus is proportional to the -viscosity of the fluid and the particle diameter. +IMPORTANT NOTE: You should specify gamma in force/velocity units. +This is not the same as mass/time units, at least for some of the +LAMMPS "units"_units.html options like "real" or "metal" that are not +self-consistent. + +In a Brownian dynamics context, gamma = kT / D, where k = Boltzmann's +constant, T = temperature, and D = particle diffusion coefficient. D +can be written as kT / (3 pi eta d), where eta = dynamic viscosity of +the frictional fluid and d = diameter of particle. This means gamma = +3 pi eta d, and thus is proportional to the viscosity of the fluid and +the particle diameter. In the current implementation, rather than have the user specify a -viscosity (in centiPoise or some other units), gamma is specified -directly in force/velocity units. If needed, gamma can be adjusted -for atoms of different sizes (i.e. sigma) by using the {scale} -keyword. +viscosity, gamma is specified directly in force/velocity units. If +needed, gamma can be adjusted for atoms of different sizes +(i.e. sigma) by using the {scale} keyword. Note that Brownian dynamics models also typically include a randomized force term to thermostat the system at a chosen temperature. The "fix -langevin"_fix_langevin.html command adds both a viscous damping term -and this random force to each atom; hence if using fix {langevin} you -do not typically need to use fix {viscous}. +langevin"_fix_langevin.html command does this. It has the same +viscous damping term as fix viscous and adds a random force to each +atom. Hence if using fix {langevin} you do not typically need to use +fix {viscous}. Also note that the gamma of fix viscous is related to +the damping parameter of "fix langevin"_fix_langevin.html, except that +the units of gamma are force/velocity and the units of damp are time, +so that it can more easily be used as a thermostat. [Restart, fix_modify, output, run start/stop, minimize info:] diff -Naur lammps-3Jul09/src/ASPHERE/compute_temp_asphere.cpp lammps-4Jul09/src/ASPHERE/compute_temp_asphere.cpp --- lammps-3Jul09/src/ASPHERE/compute_temp_asphere.cpp 2009-06-26 12:23:16.000000000 -0600 +++ lammps-4Jul09/src/ASPHERE/compute_temp_asphere.cpp 2009-07-01 14:28:37.000000000 -0600 @@ -31,6 +31,8 @@ using namespace LAMMPS_NS; +enum{DUMMY0,INVOKED_SCALAR,INVOKED_VECTOR,DUMMMY3,INVOKED_PERATOM}; + /* ---------------------------------------------------------------------- */ ComputeTempAsphere::ComputeTempAsphere(LAMMPS *lmp, int narg, char **arg) : @@ -159,7 +161,10 @@ invoked_scalar = update->ntimestep; if (tempbias) { - if (tbias->invoked_scalar != update->ntimestep) tbias->compute_scalar(); + if (!(tbias->invoked_flag & INVOKED_SCALAR)) { + tbias->compute_scalar(); + tbias->invoked_flag |= INVOKED_SCALAR; + } tbias->remove_bias_all(); } @@ -216,7 +221,10 @@ invoked_vector = update->ntimestep; if (tempbias) { - if (tbias->invoked_vector != update->ntimestep) tbias->compute_vector(); + if (!(tbias->invoked_flag & INVOKED_VECTOR)) { + tbias->compute_vector(); + tbias->invoked_flag |= INVOKED_VECTOR; + } tbias->remove_bias_all(); } diff -Naur lammps-3Jul09/src/POEMS/fix_poems.cpp lammps-4Jul09/src/POEMS/fix_poems.cpp --- lammps-3Jul09/src/POEMS/fix_poems.cpp 2008-04-04 17:15:33.000000000 -0600 +++ lammps-4Jul09/src/POEMS/fix_poems.cpp 2009-06-30 13:08:56.000000000 -0600 @@ -17,10 +17,11 @@ Kurt Anderson (anderk5@rpi.edu) ------------------------------------------------------------------------- */ +#include "mpi.h" #include "math.h" #include "stdio.h" #include "string.h" -#include "mpi.h" +#include "stdlib.h" #include "workspace.h" #include "fix_poems.h" #include "atom.h" diff -Naur lammps-3Jul09/src/compute.cpp lammps-4Jul09/src/compute.cpp --- lammps-3Jul09/src/compute.cpp 2009-01-05 15:26:08.000000000 -0700 +++ lammps-4Jul09/src/compute.cpp 2009-07-01 14:28:37.000000000 -0600 @@ -64,7 +64,6 @@ pressatomflag = peatomflag = 0; tempbias = 0; - id_pre = NULL; timeflag = 0; comm_forward = comm_reverse = 0; @@ -87,7 +86,6 @@ { delete [] id; delete [] style; - delete [] id_pre; memory->sfree(tlist); } @@ -129,6 +127,13 @@ extra_dof = domain->dimension; } +/* ---------------------------------------------------------------------- */ + +void Compute::reset_extra_compute(char *) +{ + error->all("Compute does not allow an extra compute to be reset"); +} + /* ---------------------------------------------------------------------- add ntimestep to list of timesteps the compute will be called on do not add if already in list diff -Naur lammps-3Jul09/src/compute.h lammps-4Jul09/src/compute.h --- lammps-3Jul09/src/compute.h 2009-04-29 10:54:06.000000000 -0600 +++ lammps-4Jul09/src/compute.h 2009-07-01 14:28:37.000000000 -0600 @@ -47,14 +47,12 @@ int tempbias; // 0/1 if Compute temp includes self/extra bias - char *id_pre; // ID of pre-compute the Compute may store - int timeflag; // 1 if Compute stores list of timesteps it's called on int ntime; // # of entries in time list int maxtime; // max # of entries time list can hold int *tlist; // time list of steps the Compute is called on - int invoked_flag; // 1 if invoked or accessed this step, 0 if not + int invoked_flag; // non-zero if invoked or accessed this step, 0 if not int invoked_scalar; // last timestep on which compute_scalar() was invoked int invoked_vector; // ditto for compute_vector() int invoked_peratom; // ditto for compute_peratom() @@ -86,6 +84,8 @@ virtual void restore_bias(int, double *) {} virtual void restore_bias_all() {} + virtual void reset_extra_compute(char *); + void addstep(int); int matchstep(int); void clearstep(); diff -Naur lammps-3Jul09/src/compute_pressure.cpp lammps-4Jul09/src/compute_pressure.cpp --- lammps-3Jul09/src/compute_pressure.cpp 2009-04-29 10:54:06.000000000 -0600 +++ lammps-4Jul09/src/compute_pressure.cpp 2009-07-01 14:28:37.000000000 -0600 @@ -31,6 +31,8 @@ using namespace LAMMPS_NS; +enum{DUMMY0,INVOKED_SCALAR,INVOKED_VECTOR,DUMMMY3,INVOKED_PERATOM}; + /* ---------------------------------------------------------------------- */ ComputePressure::ComputePressure(LAMMPS *lmp, int narg, char **arg) : @@ -50,10 +52,10 @@ // insure it is valid for temperature computation int n = strlen(arg[3]) + 1; - id_pre = new char[n]; - strcpy(id_pre,arg[3]); + id_temp = new char[n]; + strcpy(id_temp,arg[3]); - int icompute = modify->find_compute(id_pre); + int icompute = modify->find_compute(id_temp); if (icompute < 0) error->all("Could not find compute pressure temp ID"); if (modify->compute[icompute]->tempflag == 0) error->all("Compute pressure temp ID does not compute temperature"); @@ -98,6 +100,7 @@ ComputePressure::~ComputePressure() { + delete [] id_temp; delete [] vector; delete [] vptr; } @@ -113,7 +116,7 @@ // set temperature compute, must be done in init() // fixes could have changed or compute_modify could have changed it - int icompute = modify->find_compute(id_pre); + int icompute = modify->find_compute(id_temp); if (icompute < 0) error->all("Could not find compute pressure temp ID"); temperature = modify->compute[icompute]; @@ -169,9 +172,10 @@ double t; if (keflag) { - if (temperature->invoked_scalar == update->ntimestep) - t = temperature->scalar; - else t = temperature->compute_scalar(); + if (!(temperature->invoked_flag & INVOKED_SCALAR)) { + t = temperature->compute_scalar(); + temperature->invoked_flag |= INVOKED_SCALAR; + } else t = temperature->scalar; } if (dimension == 3) { @@ -210,8 +214,10 @@ double *ke_tensor; if (keflag) { - if (temperature->invoked_vector != update->ntimestep) + if (!(temperature->invoked_flag & INVOKED_VECTOR)) { temperature->compute_vector(); + temperature->invoked_flag |= INVOKED_VECTOR; + } ke_tensor = temperature->vector; } @@ -269,3 +275,13 @@ if (force->pair && force->pair->tail_flag) for (i = 0; i < ndiag; i++) virial[i] += force->pair->ptail * inv_volume; } + +/* ---------------------------------------------------------------------- */ + +void ComputePressure::reset_extra_compute(char *id_new) +{ + delete [] id_temp; + int n = strlen(id_new) + 1; + id_temp = new char[n]; + strcpy(id_temp,id_new); +} diff -Naur lammps-3Jul09/src/compute_pressure.h lammps-4Jul09/src/compute_pressure.h --- lammps-3Jul09/src/compute_pressure.h 2007-11-30 14:54:30.000000000 -0700 +++ lammps-4Jul09/src/compute_pressure.h 2009-07-01 14:28:37.000000000 -0600 @@ -25,6 +25,7 @@ void init(); double compute_scalar(); void compute_vector(); + void reset_extra_compute(char *); private: double boltz,nktv2p,inv_volume; @@ -32,6 +33,7 @@ double **vptr; double *kspace_virial; Compute *temperature; + char *id_temp; double virial[6]; int keflag,pairflag,bondflag,angleflag,dihedralflag,improperflag; int fixflag,kspaceflag; diff -Naur lammps-3Jul09/src/compute_temp_sphere.cpp lammps-4Jul09/src/compute_temp_sphere.cpp --- lammps-3Jul09/src/compute_temp_sphere.cpp 2009-06-26 12:23:16.000000000 -0600 +++ lammps-4Jul09/src/compute_temp_sphere.cpp 2009-07-01 14:28:37.000000000 -0600 @@ -26,6 +26,8 @@ using namespace LAMMPS_NS; +enum{DUMMY0,INVOKED_SCALAR,INVOKED_VECTOR,DUMMMY3,INVOKED_PERATOM}; + #define INERTIA 0.4 // moment of inertia for sphere /* ---------------------------------------------------------------------- */ @@ -240,7 +242,10 @@ invoked_scalar = update->ntimestep; if (tempbias) { - if (tbias->invoked_scalar != update->ntimestep) tbias->compute_scalar(); + if (!(tbias->invoked_flag & INVOKED_SCALAR)) { + tbias->compute_scalar(); + tbias->invoked_flag |= INVOKED_SCALAR; + } tbias->remove_bias_all(); } @@ -324,7 +329,10 @@ invoked_vector = update->ntimestep; if (tempbias) { - if (tbias->invoked_vector != update->ntimestep) tbias->compute_vector(); + if (!(tbias->invoked_flag & INVOKED_VECTOR)) { + tbias->compute_vector(); + tbias->invoked_flag |= INVOKED_VECTOR; + } tbias->remove_bias_all(); } diff -Naur lammps-3Jul09/src/dump.cpp lammps-4Jul09/src/dump.cpp --- lammps-3Jul09/src/dump.cpp 2009-03-16 16:34:07.000000000 -0600 +++ lammps-4Jul09/src/dump.cpp 2009-06-30 13:31:16.000000000 -0600 @@ -106,8 +106,13 @@ // XTC style sets fp to NULL since it closes file in its destructor if (multifile == 0 && fp != NULL) { - if (multiproc) fclose(fp); - else if (me == 0) fclose(fp); + if (compressed) { + if (multiproc) pclose(fp); + else if (me == 0) pclose(fp); + } else { + if (multiproc) fclose(fp); + else if (me == 0) fclose(fp); + } } } @@ -205,8 +210,13 @@ // if file per timestep, close file if (multifile) { - if (multiproc) fclose(fp); - else if (me == 0) fclose(fp); + if (compressed) { + if (multiproc) pclose(fp); + else if (me == 0) pclose(fp); + } else { + if (multiproc) fclose(fp); + else if (me == 0) fclose(fp); + } } } diff -Naur lammps-3Jul09/src/fix_box_relax.cpp lammps-4Jul09/src/fix_box_relax.cpp --- lammps-3Jul09/src/fix_box_relax.cpp 2009-04-01 16:23:28.000000000 -0600 +++ lammps-4Jul09/src/fix_box_relax.cpp 2009-07-01 14:28:37.000000000 -0600 @@ -466,13 +466,11 @@ if (temperature->igroup != 0 && comm->me == 0) error->warning("Temperature for fix modify is not for group all"); - // reset id_pre of pressure to new temp ID + // reset id_temp of pressure to new temp ID icompute = modify->find_compute(id_press); if (icompute < 0) error->all("Pressure ID for fix modify does not exist"); - delete [] modify->compute[icompute]->id_pre; - modify->compute[icompute]->id_pre = new char[n]; - strcpy(modify->compute[icompute]->id_pre,id_temp); + modify->compute[icompute]->reset_extra_compute(id_temp); return 2; diff -Naur lammps-3Jul09/src/fix_indent.cpp lammps-4Jul09/src/fix_indent.cpp --- lammps-3Jul09/src/fix_indent.cpp 2009-01-05 15:26:08.000000000 -0700 +++ lammps-4Jul09/src/fix_indent.cpp 2009-07-01 14:28:37.000000000 -0600 @@ -30,6 +30,7 @@ using namespace LAMMPS_NS; enum{NONE,SPHERE,CYLINDER,PLANE}; +enum{INSIDE,OUTSIDE}; /* ---------------------------------------------------------------------- */ @@ -48,14 +49,6 @@ k = atof(arg[3]); - // set defaults - - istyle = NONE; - vx = vy = vz = 0.0; - radflag = 0; - r0_start = 0.0; - scaleflag = 1; - // read options from end of input line options(narg-4,&arg[4]); @@ -198,9 +191,14 @@ dely = x[i][1] - y1; delz = x[i][2] - z1; r = sqrt(delx*delx + dely*dely + delz*delz); - dr = r - r0; + if (side == OUTSIDE) { + dr = r - r0; + fmag = k*dr*dr; + } else { + dr = r0 - r; + fmag = -k*dr*dr; + } if (dr >= 0.0) continue; - fmag = k*dr*dr; fx = delx*fmag/r; fy = dely*fmag/r; fz = delz*fmag/r; @@ -255,9 +253,14 @@ delz = 0; } r = sqrt(delx*delx + dely*dely + delz*delz); - dr = r - r0; + if (side == OUTSIDE) { + dr = r - r0; + fmag = k*dr*dr; + } else { + dr = r0 - r; + fmag = -k*dr*dr; + } if (dr >= 0.0) continue; - fmag = k*dr*dr; fx = delx*fmag/r; fy = dely*fmag/r; fz = delz*fmag/r; @@ -353,6 +356,13 @@ { if (narg < 0) error->all("Illegal fix indent command"); + istyle = NONE; + vx = vy = vz = 0.0; + radflag = 0; + r0_start = 0.0; + scaleflag = 1; + side = OUTSIDE; + int iarg = 0; while (iarg < narg) { if (strcmp(arg[iarg],"sphere") == 0) { @@ -403,6 +413,12 @@ else if (strcmp(arg[iarg+1],"lattice") == 0) scaleflag = 1; else error->all("Illegal fix indent command"); iarg += 2; + } else if (strcmp(arg[iarg],"side") == 0) { + if (iarg+2 > narg) error->all("Illegal fix indent command"); + if (strcmp(arg[iarg+1],"in") == 0) side = INSIDE; + else if (strcmp(arg[iarg+1],"out") == 0) side = OUTSIDE; + else error->all("Illegal fix indent command"); + iarg += 2; } else error->all("Illegal fix indent command"); } } diff -Naur lammps-3Jul09/src/fix_indent.h lammps-4Jul09/src/fix_indent.h --- lammps-3Jul09/src/fix_indent.h 2008-10-01 10:01:41.000000000 -0600 +++ lammps-4Jul09/src/fix_indent.h 2009-07-01 14:28:37.000000000 -0600 @@ -32,7 +32,7 @@ double compute_vector(int); private: - int istyle,scaleflag,radflag,thermo_flag,eflag_enable; + int istyle,scaleflag,radflag,thermo_flag,eflag_enable,side; double k,k3; double x0,y0,z0,r0_stop,r0_start,planepos; int indenter_flag,planeside; diff -Naur lammps-3Jul09/src/fix_nph.cpp lammps-4Jul09/src/fix_nph.cpp --- lammps-3Jul09/src/fix_nph.cpp 2009-06-26 12:23:16.000000000 -0600 +++ lammps-4Jul09/src/fix_nph.cpp 2009-07-01 14:28:37.000000000 -0600 @@ -816,13 +816,11 @@ if (temperature->igroup != 0 && comm->me == 0) error->warning("Temperature for NPH is not for group all"); - // reset id_pre of pressure to new temp ID + // reset id_temp of pressure to new temp ID icompute = modify->find_compute(id_press); if (icompute < 0) error->all("Press ID for fix npt does not exist"); - delete [] modify->compute[icompute]->id_pre; - modify->compute[icompute]->id_pre = new char[n]; - strcpy(modify->compute[icompute]->id_pre,id_temp); + modify->compute[icompute]->reset_extra_compute(id_temp); return 2; diff -Naur lammps-3Jul09/src/fix_npt.cpp lammps-4Jul09/src/fix_npt.cpp --- lammps-3Jul09/src/fix_npt.cpp 2009-06-26 12:23:16.000000000 -0600 +++ lammps-4Jul09/src/fix_npt.cpp 2009-07-01 14:28:37.000000000 -0600 @@ -957,13 +957,11 @@ if (temperature->igroup != 0 && comm->me == 0) error->warning("Temperature for fix modify is not for group all"); - // reset id_pre of pressure to new temp ID + // reset id_temp of pressure to new temp ID icompute = modify->find_compute(id_press); if (icompute < 0) error->all("Pressure ID for fix modify does not exist"); - delete [] modify->compute[icompute]->id_pre; - modify->compute[icompute]->id_pre = new char[n]; - strcpy(modify->compute[icompute]->id_pre,id_temp); + modify->compute[icompute]->reset_extra_compute(id_temp); return 2; diff -Naur lammps-3Jul09/src/fix_press_berendsen.cpp lammps-4Jul09/src/fix_press_berendsen.cpp --- lammps-3Jul09/src/fix_press_berendsen.cpp 2009-06-26 12:23:16.000000000 -0600 +++ lammps-4Jul09/src/fix_press_berendsen.cpp 2009-07-01 14:28:37.000000000 -0600 @@ -438,13 +438,12 @@ if (temperature->igroup != 0 && comm->me == 0) error->warning("Temperature for NPT is not for group all"); - // reset id_pre of pressure to new temp ID + // reset id_temp of pressure to new temp ID icompute = modify->find_compute(id_press); - if (icompute < 0) error->all("Press ID for fix press/berendsen does not exist"); - delete [] modify->compute[icompute]->id_pre; - modify->compute[icompute]->id_pre = new char[n]; - strcpy(modify->compute[icompute]->id_pre,id_temp); + if (icompute < 0) + error->all("Press ID for fix press/berendsen does not exist"); + modify->compute[icompute]->reset_extra_compute(id_temp); return 2; diff -Naur lammps-3Jul09/src/fix_tmd.cpp lammps-4Jul09/src/fix_tmd.cpp --- lammps-3Jul09/src/fix_tmd.cpp 2008-10-01 09:25:39.000000000 -0600 +++ lammps-4Jul09/src/fix_tmd.cpp 2009-06-30 13:31:16.000000000 -0600 @@ -500,7 +500,11 @@ // clean up delete [] buffer; - if (me == 0) fclose(fp); + + if (me == 0) { + if (compressed) pclose(fp); + else fclose(fp); + } // check that all atoms in group were listed in target file // set xf = 0.0 for atoms not in group @@ -525,7 +529,7 @@ void FixTMD::open(char *file) { - int compressed = 0; + compressed = 0; char *suffix = file + strlen(file) - 3; if (suffix > file && strcmp(suffix,".gz") == 0) compressed = 1; if (!compressed) fp = fopen(file,"r"); diff -Naur lammps-3Jul09/src/fix_tmd.h lammps-4Jul09/src/fix_tmd.h --- lammps-3Jul09/src/fix_tmd.h 2008-01-09 14:56:57.000000000 -0700 +++ lammps-4Jul09/src/fix_tmd.h 2009-06-30 13:31:16.000000000 -0600 @@ -37,7 +37,7 @@ private: int me; - int nfileevery,previous_stat; + int nfileevery,previous_stat,compressed; FILE *fp; double rho_start,rho_stop,rho_old,masstotal; double dtv,dtf; diff -Naur lammps-3Jul09/src/read_data.cpp lammps-4Jul09/src/read_data.cpp --- lammps-3Jul09/src/read_data.cpp 2009-03-18 11:37:46.000000000 -0600 +++ lammps-4Jul09/src/read_data.cpp 2009-06-30 13:31:16.000000000 -0600 @@ -86,7 +86,8 @@ header(0); scan(atom->bond_per_atom,atom->angle_per_atom, atom->dihedral_per_atom,atom->improper_per_atom); - fclose(fp); + if (compressed) pclose(fp); + else fclose(fp); atom->bond_per_atom += atom->extra_bond_per_atom; } @@ -256,7 +257,10 @@ // close file - if (me == 0) fclose(fp); + if (me == 0) { + if (compressed) pclose(fp); + else fclose(fp); + } // error if natoms > 0 yet no atoms were read @@ -1219,7 +1223,7 @@ void ReadData::open(char *file) { - int compressed = 0; + compressed = 0; char *suffix = file + strlen(file) - 3; if (suffix > file && strcmp(suffix,".gz") == 0) compressed = 1; if (!compressed) fp = fopen(file,"r"); diff -Naur lammps-3Jul09/src/read_data.h lammps-4Jul09/src/read_data.h --- lammps-3Jul09/src/read_data.h 2009-01-05 15:26:08.000000000 -0700 +++ lammps-4Jul09/src/read_data.h 2009-06-30 13:31:16.000000000 -0600 @@ -29,7 +29,7 @@ int me; char *line,*keyword,*buffer; FILE *fp; - int narg,maxarg; + int narg,maxarg,compressed; char **arg; void open(char *); diff -Naur lammps-3Jul09/src/thermo.cpp lammps-4Jul09/src/thermo.cpp --- lammps-3Jul09/src/thermo.cpp 2009-04-10 17:20:41.000000000 -0600 +++ lammps-4Jul09/src/thermo.cpp 2009-07-01 14:28:37.000000000 -0600 @@ -380,7 +380,7 @@ if (temperature->igroup != 0 && comm->me == 0) error->warning("Temperature for thermo pressure is not for group all"); - // reset id_pre of pressure to new temp ID + // reset id_temp of pressure to new temp ID // either pressure currently being used by thermo or "thermo_press" if (index_press_scalar >= 0) { @@ -391,9 +391,7 @@ if (icompute < 0) error->all("Press ID for thermo does not exist"); } else icompute = modify->find_compute((char *) "thermo_press"); - delete [] modify->compute[icompute]->id_pre; - modify->compute[icompute]->id_pre = new char[n]; - strcpy(modify->compute[icompute]->id_pre,arg[iarg+1]); + modify->compute[icompute]->reset_extra_compute(arg[iarg+1]); iarg += 2;