git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@9566 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp
2013-03-04 23:09:29 +00:00
parent fe7a7c25f1
commit a5c6bfb1c5
94 changed files with 482 additions and 825 deletions

View File

@ -16,7 +16,6 @@
#include "math_extra.h"
#include "atom_vec_body.h"
#include "atom.h"
#include "memory.h"
#include "error.h"
using namespace LAMMPS_NS;
@ -37,6 +36,19 @@ BodyNparticle::BodyNparticle(LAMMPS *lmp, int narg, char **arg) :
size_forward = 0;
size_border = 1 + 3*nmax;
// NOTE: need to set appropriate nnbin param for dcp
icp = new MyPool<int>(1,1);
dcp = new MyPool<double>(3*nmin,3*nmax);
}
/* ---------------------------------------------------------------------- */
BodyNparticle::~BodyNparticle()
{
delete icp;
delete dcp;
}
/* ---------------------------------------------------------------------- */
@ -105,10 +117,10 @@ void BodyNparticle::data_body(int ibonus, int ninteger, int ndouble,
"Bodies section of data file");
bonus->ninteger = 1;
memory->create(bonus->ivalue,bonus->ninteger,"body:ivalue");
bonus->ivalue = icp->get(bonus->iindex);
bonus->ivalue[0] = nsub;
bonus->ndouble = 3*nsub;
memory->create(bonus->dvalue,3*nsub,"body:dvalue");
bonus->dvalue = dcp->get(bonus->ndouble,bonus->dindex);
// diagonalize inertia tensor

View File

@ -28,7 +28,7 @@ namespace LAMMPS_NS {
class BodyNparticle : public Body {
public:
BodyNparticle(class LAMMPS *, int, char **);
~BodyNparticle() {}
~BodyNparticle();
int nsub(class AtomVecBody::Bonus *);
double *coords(class AtomVecBody::Bonus *);

View File

@ -44,10 +44,10 @@ class FixNVEBody : public FixNVE {
E: Fix nve/body requires atom style body
UNDOCUMENTED
Self-explanatory.
E: Fix nve/body requires bodies
UNDOCUMENTED
This fix can only be used for particles that are bodies.
*/

View File

@ -63,18 +63,20 @@ class PairBody : public Pair {
E: Illegal ... command
UNDOCUMENTED
Self-explanatory. Check the input script syntax and compare to the
documentation for the command. You can use -echo screen as a
command-line option when running LAMMPS to see the offending line.
E: Incorrect args for pair coefficients
UNDOCUMENTED
Self-explanatory. Check the input script or data file.
E: Pair body requires atom style body
UNDOCUMENTED
Self-explanatory.
E: Pair body requires body style nparticle
UNDOCUMENTED
This pair style is specific to the nparticle body style.
*/

View File

@ -74,11 +74,6 @@ The atom style defined does not have this attribute.
E: Pair style requires a KSpace style
UNDOCUMENTED
U: Pair style is incompatible with KSpace style
If a pair style with a long-range Coulombic component is selected,
then a kspace style must also be used.
This pair style is designed for use with a KSpace style.
*/

View File

@ -97,6 +97,6 @@ All particles must be the same finite size.
E: Cannot use multiple fix wall commands with pair brownian
UNDOCUMENTED
Self-explanatory.
*/

View File

@ -54,6 +54,6 @@ One of the particles has radius 0.0.
E: Cannot use multiple fix wall commands with pair brownian
UNDOCUMENTED
Self-explanatory.
*/

View File

@ -98,6 +98,6 @@ Must use remap v option with fix deform with this pair style.
E: Cannot use multiple fix wall commands with pair lubricate
UNDOCUMENTED
Self-explanatory.
*/

View File

@ -109,6 +109,6 @@ All particles must be the same finite size.
E: Cannot use multiple fix wall commands with pair lubricateU
UNDOCUMENTED
Self-explanatory.
*/

View File

@ -78,6 +78,6 @@ One of the particles has radius 0.0.
E: Cannot use multiple fix wall commands with pair lubricateU
UNDOCUMENTED
Self-explanatory.
*/

View File

@ -61,7 +61,7 @@ Must use remap v option with fix deform with this pair style.
E: Cannot use multiple fix wall commands with pair lubricate/poly
UNDOCUMENTED
Self-explanatory.
E: Using pair lubricate/poly with inconsistent fix deform remap option

View File

@ -129,7 +129,7 @@ void PairBornCoulLongGPU::compute(int eflag, int vflag)
atom->nlocal, domain->boxlo, domain->prd);
}
if (!success)
error->one(FLERR,"Out of memory on GPGPU");
error->one(FLERR,"Insufficient memory on accelerator");
if (host_start<inum) {
cpu_time = MPI_Wtime();

View File

@ -47,9 +47,10 @@ class PairBornCoulLongGPU : public PairBornCoulLong {
/* ERROR/WARNING messages:
E: Out of memory on GPGPU
E: Insufficient memory on accelerator
UNDOCUMENTED
There is insufficient memory on one of the devices specified for the gpu
package
E: Pair style born/coul/long/gpu requires atom attribute q
@ -57,10 +58,11 @@ The atom style defined does not have this attribute.
E: Cannot use newton pair with born/coul/long/gpu pair style
UNDOCUMENTED
Self-explanatory.
E: Pair style is incompatible with KSpace style
UNDOCUMENTED
If a pair style with a long-range Coulombic component is selected,
then a kspace style must also be used.
*/

View File

@ -120,7 +120,7 @@ void PairBornCoulWolfGPU::compute(int eflag, int vflag)
atom->nlocal, domain->boxlo, domain->prd);
}
if (!success)
error->one(FLERR,"Out of memory on GPGPU");
error->one(FLERR,"Insufficient memory on accelerator");
if (host_start<inum) {
cpu_time = MPI_Wtime();

View File

@ -47,16 +47,13 @@ class PairBornCoulWolfGPU : public PairBornCoulWolf {
/* ERROR/WARNING messages:
E: Out of memory on GPGPU
E: Insufficient memory on accelerator
UNDOCUMENTED
There is insufficient memory on one of the devices specified for the gpu
package
E: Cannot use newton pair with born/coul/wolf/gpu pair style
UNDOCUMENTED
U: Pair style born/coul/wolf/gpu requires atom attribute q
The atom style defined does not have this attribute.
Self-explanatory.
*/

View File

@ -110,7 +110,7 @@ void PairBornGPU::compute(int eflag, int vflag)
vflag_atom, host_start, cpu_time, success);
}
if (!success)
error->one(FLERR,"Out of memory on GPGPU");
error->one(FLERR,"Insufficient memory on accelerator");
if (host_start<inum) {
cpu_time = MPI_Wtime();

View File

@ -47,12 +47,13 @@ class PairBornGPU : public PairBorn {
/* ERROR/WARNING messages:
E: Out of memory on GPGPU
E: Insufficient memory on accelerator
UNDOCUMENTED
There is insufficient memory on one of the devices specified for the gpu
package
E: Cannot use newton pair with born/gpu pair style
UNDOCUMENTED
Self-explantory.
*/

View File

@ -58,10 +58,10 @@ Self-explanatory.
E: Overlapping small/large in pair colloid
UNDOCUMENTED
This potential is infinite when there is an overlap.
E: Overlapping large/large in pair colloid
UNDOCUMENTED
This potential is infinite when there is an overlap.
*/

View File

@ -54,14 +54,10 @@ package
E: Pair dipole/cut/gpu requires atom attributes q, mu, torque
UNDOCUMENTED
The atom style defined does not have this attribute.
E: Cannot use newton pair with dipole/cut/gpu pair style
Self-explanatory.
U: Pair style dipole/cut/gpu requires atom attribute q
The atom style defined does not have this attribute.
*/

View File

@ -123,7 +123,7 @@ void PairGaussGPU::compute(int eflag, int vflag)
void PairGaussGPU::init_style()
{
if (force->newton_pair)
error->all(FLERR,"Cannot use newton pair with lj/cut/gpu pair style");
error->all(FLERR,"Cannot use newton pair with gauss/gpu pair style");
// Repeat cutsq calculation because done after call to init_style
double maxcut = -1.0;

View File

@ -52,11 +52,7 @@ E: Insufficient memory on accelerator
There is insufficient memory on one of the devices specified for the gpu
package
E: Cannot use newton pair with lj/cut/gpu pair style
UNDOCUMENTED
U: Cannot use newton pair with gauss/gpu pair style
E: Cannot use newton pair with gauss/gpu pair style
Self-explanatory.

View File

@ -54,7 +54,7 @@ package
E: Pair yukawa/colloid/gpu requires atom style sphere
UNDOCUMENTED
Self-explanatory.
E: Cannot use newton pair with yukawa/colloid/gpu pair style

View File

@ -137,7 +137,7 @@ void PPPMGPU::init()
// unsupported option
if (differentiation_flag == 1)
error->all(FLERR,"Cannot (yet) do analytic differentiation with pppm/gpu");
error->all(FLERR,"Cannot do analytic differentiation with pppm/gpu");
if (strcmp(update->integrate_style,"verlet/split") == 0) {
kspace_split=true;

View File

@ -73,7 +73,7 @@ Self-explanatory.
E: Cannot (yet) do analytic differentiation with pppm/gpu
UNDOCUMENTED
This is a current restriction of this command.
E: Cannot use order greater than 8 with pppm/gpu.
@ -100,8 +100,4 @@ outside a processor's sub-domain or even the entire simulation box.
This indicates bad physics, e.g. due to highly overlapping atoms, too
large a timestep, etc.
U: Cannot (yet) do analytic differentiation with pppm/gpu.
Self-explanatory.
*/

View File

@ -1001,7 +1001,7 @@ void PairKIM::write_descriptor(char** test_descriptor_string)
{
// allocate memory
if (*test_descriptor_string != 0)
error->all(FLERR, "test_descriptor_string already allocated.");
error->all(FLERR, "Test_descriptor_string already allocated");
// assuming 75 lines at 100 characters each (should be plenty)
*test_descriptor_string = new char[100*75];
// initialize

View File

@ -31,10 +31,10 @@ PairStyle(kim,PairKIM)
#define LMP_PAIR_KIM_H
// includes from KIM & LAMMPS
class KIM_API_model;
#include "pair.h"
namespace LAMMPS_NS {
class PairKIM : public Pair {
@ -166,7 +166,7 @@ E: Invalid args for non-hybrid pair coefficients
E: PairKIM only works with 3D problems.
UNDOCUMENTED
This is a current restriction of this pair style.
E: All pair coeffs are not set
@ -203,19 +203,7 @@ W: KIM Model does not provide `particleVirial'; virial per atom will be zero
Self-explanatory.
E: test_descriptor_string already allocated.
UNDOCUMENTED
U: PairKIM only works with 3D problems
The KIM API does not explicitly support anything other than 3D problems
U: Internal KIM error
Self-explanatory. Check the output and kim.log file for more details.
U: test_descriptor_string already allocated
E: Test_descriptor_string already allocated
This should not happen. It likely indicates a bug in the pair_kim implementation.

View File

@ -158,7 +158,7 @@ void EwaldDisp::init()
error->warning(FLERR,str);
}
//set accuracy (force units) from accuracy_relative or accuracy_absolute
// set accuracy (force units) from accuracy_relative or accuracy_absolute
if (accuracy_absolute >= 0.0) accuracy = accuracy_absolute;
else accuracy = accuracy_relative * two_charge_force;
@ -200,7 +200,6 @@ void EwaldDisp::init()
peratom_allocate_flag = 0;
}
/* ----------------------------------------------------------------------
adjust EwaldDisp coeffs, called initially and whenever volume has changed
------------------------------------------------------------------------- */
@ -212,9 +211,9 @@ void EwaldDisp::setup()
shape_scalar_mult(unit, 2.0*MY_PI);
unit[2] /= slab_volfactor;
//int nbox_old = nbox, nkvec_old = nkvec;
// int nbox_old = nbox, nkvec_old = nkvec;
if (accuracy>=1) {
if (accuracy >= 1) {
nbox = 0;
error->all(FLERR,"KSpace accuracy too low");
}
@ -457,7 +456,7 @@ void EwaldDisp::init_coeffs()
if (!(epsilon&&sigma))
error->all(
FLERR,"epsilon or sigma reference not set by pair style in ewald/n");
FLERR,"Epsilon or sigma reference not set by pair style in ewald/n");
for (int i=0; i<=n; ++i) {
eps_i = sqrt(epsilon[i][i]);
sigma_i = sigma[i][i];

View File

@ -108,27 +108,32 @@ This is a current restriction of this command.
E: Cannot use nonperiodic boundaries with EwaldDisp
UNDOCUMENTED
For kspace style ewald/disp, all 3 dimensions must have periodic
boundaries unless you use the kspace_modify command to define a 2d
slab with a non-periodic z dimension.
E: Incorrect boundaries with slab EwaldDisp
UNDOCUMENTED
Must have periodic x,y dimensions and non-periodic z dimension to use
2d slab option with Ewald.
E: KSpace style is incompatible with Pair style
UNDOCUMENTED
Setting a kspace style requires that a pair style with a long-range
Coulombic and Dispersion component be selected.
E: Unsupported mixing rule in kspace_style ewald/disp
UNDOCUMENTED
Only geometric mixing is supported.
E: Unsupported order in kspace_style ewald/disp
UNDOCUMENTED
Only 1/r^6 dispersion terms are supported.
E: Cannot use Ewald/disp solver on system with no charge or LJ particles
UNDOCUMENTED
No atoms in system have a non-zero charge or are LJ particles. Change
charges or change options of the kspace solver/pair style.
W: System is not charge neutral, net charge = %g
@ -137,18 +142,19 @@ is not valid for Ewald or PPPM.
E: KSpace accuracy too large to estimate G vector
UNDOCUMENTED
Reduce the accuracy request or specify gwald explicitly
via the kspace_modify command.
W: Ewald/disp Newton solver failed, using old method to estimate g_ewald
UNDOCUMENTED
Self-explanatory.
E: KSpace accuracy too low
UNDOCUMENTED
Requested accuracy must be less than 1.0.
E: epsilon or sigma reference not set by pair style in ewald/n
E: Epsilon or sigma reference not set by pair style in ewald/n
UNDOCUMENTED
The pair style is not providing the needed epsilon or sigma values.
*/

View File

@ -897,8 +897,7 @@ void MSM::set_grid_global()
levels = MAX(xlevels,ylevels);
levels = MAX(levels,zlevels);
if (levels > MAX_LEVELS)
error->all(FLERR,"Too many MSM grid levels");
if (levels > MAX_LEVELS) error->all(FLERR,"Too many MSM grid levels");
// Need at least 2 MSM levels for periodic systems
@ -906,7 +905,8 @@ void MSM::set_grid_global()
levels = xlevels = ylevels = zlevels = 2;
nx_max = ny_max = nz_max = 2;
if (gridflag)
error->warning(FLERR,"MSM mesh too small, increasing to 2 points in each direction)");
error->warning(FLERR,
"MSM mesh too small, increasing to 2 points in each direction");
}
if (adjust_cutoff_flag) {

View File

@ -193,11 +193,11 @@ adjusted to meet this requirement.
E: Too many MSM grid levels
UNDOCUMENTED
The max number of MSM grid levels is hardwired to 10.
W: MSM mesh too small, increasing to 2 points in each direction)
UNDOCUMENTED
Self-explanatory.
W: Adjusting Coulombic cutoff for MSM, new cutoff = %g
@ -226,9 +226,4 @@ outside a processor's sub-domain or even the entire simulation box.
This indicates bad physics, e.g. due to highly overlapping atoms, too
large a timestep, etc.
U: MSM mesh too small, increasing to 2 points in each direction
The global MSM grid is too small, so the number of grid points has been
increased
*/

View File

@ -72,70 +72,4 @@ outside a processor's sub-domain or even the entire simulation box.
This indicates bad physics, e.g. due to highly overlapping atoms, too
large a timestep, etc.
U: Cannot (yet) use MSM with triclinic box
This feature is not yet supported.
U: Cannot (yet) use MSM with 2d simulation
This feature is not yet supported.
U: Kspace style requires atom attribute q
The atom style defined does not have these attributes.
U: Cannot use slab correction with MSM
Slab correction can only be used with Ewald and PPPM, not MSM.
U: MSM order must be 4, 6, 8, or 10
This is a limitation of the MSM implementation in LAMMPS:
the MSM order can only be 4, 6, 8, or 10.
U: Cannot (yet) use single precision with MSM (remove -DFFT_SINGLE from Makefile and recompile)
Single precision cannot be used with MSM.
U: KSpace style is incompatible with Pair style
Setting a kspace style requires that a pair style with a long-range
Coulombic component be selected that is compatible with MSM. Note
that TIP4P is not (yet) supported by MSM.
U: Cannot use kspace solver on system with no charge
No atoms in system have a non-zero charge.
U: System is not charge neutral, net charge = %g
The total charge on all atoms on the system is not 0.0, which
is not valid for MSM.
U: MSM grid is too large
The global MSM grid is larger than OFFSET in one or more dimensions.
OFFSET is currently set to 16384. You likely need to decrease the
requested accuracy.
U: MSM mesh too small, increasing to 2 points in each direction
The global MSM grid is too small, so the number of grid points has been
increased
U: KSpace accuracy must be > 0
The kspace accuracy designated in the input must be greater than zero.
U: Number of MSM mesh points increased to be a multiple of 2
MSM requires that the number of grid points in each direction be a multiple
of two and the number of grid points in one or more directions have been
adjusted to meet this requirement.
U: Adjusting Coulombic cutoff for MSM, new cutoff = %g
The adjust/cutoff command is turned on and the Coulombic cutoff has been
adjusted to match the user-specified accuracy.
*/

View File

@ -80,11 +80,6 @@ An atom style that defines this attribute must be used.
E: Pair style requires a KSpace style
UNDOCUMENTED
U: Pair style is incompatible with KSpace style
If a pair style with a long-range Coulombic component is selected,
then a kspace style must also be used.
This pair style is designed for use with a KSpace style.
*/

View File

@ -81,11 +81,6 @@ The atom style defined does not have these attributes.
E: Pair style requres a KSpace style
UNDOCUMENTED
U: Pair style is incompatible with KSpace style
If a pair style with a long-range Coulombic component is selected,
then a kspace style must also be used.
This pair style is designed for use with a KSpace style.
*/

View File

@ -62,10 +62,10 @@ void PairBuckLongCoulLong::options(char **arg, int order)
const char *option[] = {"long", "cut", "off", NULL};
int i;
if (!*arg) error->all(FLERR,"Illegal pair_style buck/coul command");
if (!*arg) error->all(FLERR,"Illegal pair_style buck/long/coul/long command");
for (i=0; option[i]&&strcmp(arg[0], option[i]); ++i);
switch (i) {
default: error->all(FLERR,"Illegal pair_style buck/coul command");
default: error->all(FLERR,"Illegal pair_style buck/long/coul/long command");
case 0: ewald_order |= 1<<order; break;
case 2: ewald_off |= 1<<order;
case 1: break;
@ -87,15 +87,15 @@ void PairBuckLongCoulLong::settings(int narg, char **arg)
if (!comm->me && ewald_order & (1<<6))
error->warning(FLERR,"Geometric mixing assumed for 1/r^6 coefficients");
if (!comm->me && ewald_order == ((1<<1) | (1<<6)))
error->warning(FLERR,"Using largest cut-off for buck/coul long long");
if (!*(++arg)) error->all(FLERR,"Cut-offs missing in pair_style buck/coul");
error->warning(FLERR,"Using largest cutoff for buck/long/coul/long");
if (!*(++arg)) error->all(FLERR,"Cutoffs missing in pair_style buck/long/coul/long");
if (ewald_off & (1<<6))
error->all(FLERR,"LJ6 off not supported in pair_style buck/coul");
error->all(FLERR,"LJ6 off not supported in pair_style buck/long/coul/long");
if (!((ewald_order^ewald_off) & (1<<1)))
error->all(FLERR,"Coulombic cut not supported in pair_style buck/coul");
error->all(FLERR,"Coulomb cut not supported in pair_style buck/long/coul/coul");
cut_buck_global = force->numeric(*(arg++));
if (*arg && ((ewald_order & 0x42) == 0x42))
error->all(FLERR,"Only one cut-off allowed when requesting all long");
error->all(FLERR,"Only one cutoff allowed when requesting all long");
if (narg == 4) cut_coul = force->numeric(*arg);
else cut_coul = cut_buck_global;
@ -229,8 +229,7 @@ void PairBuckLongCoulLong::init_style()
// require an atom style with charge defined
if (!atom->q_flag && (ewald_order&(1<<1)))
error->all(FLERR,
"Invoking coulombic in pair style lj/coul requires atom attribute q");
error->all(FLERR,"Pair style buck/long/coul/long requires atom attribute q");
// request regular or rRESPA neighbor lists

View File

@ -73,50 +73,54 @@ class PairBuckLongCoulLong : public Pair {
E: Illegal ... command
UNDOCUMENTED
Self-explanatory. Check the input script syntax and compare to the
documentation for the command. You can use -echo screen as a
command-line option when running LAMMPS to see the offending line.
W: Geometric mixing assumed for 1/r^6 coefficients
UNDOCUMENTED
Self-explanatory.
W: Using largest cut-off for buck/coul long long
W: Using largest cutoff for buck/long/coul/long
UNDOCUMENTED
Self-exlanatory.
E: Cut-offs missing in pair_style buck/coul
E: Cutoffs missing in pair_style buck/long/coul/long
UNDOCUMENTED
Self-exlanatory.
E: LJ6 off not supported in pair_style buck/coul
E: LJ6 off not supported in pair_style buck/long/coul/long
UNDOCUMENTED
Self-exlanatory.
E: Coulombic cut not supported in pair_style buck/coul
E: Coulomb cut not supported in pair_style buck/long/coul/long
UNDOCUMENTED
Must use long-range Coulombic interactions.
E: Only one cut-off allowed when requesting all long
E: Only one cutoff allowed when requesting all long
UNDOCUMENTED
Self-explanatory.
E: Incorrect args for pair coefficients
UNDOCUMENTED
Self-explanatory. Check the input script or data file.
E: Invoking coulombic in pair style lj/coul requires atom attribute q
E: Pair style buck/long/coul/long requires atom attribute q
UNDOCUMENTED
The atom style defined does not have this attribute.
E: Pair style requires a KSpace style
UNDOCUMENTED
This pair style is designed for use with a KSpace style.
E: All pair coeffs are not set
UNDOCUMENTED
All pair coefficients must be set in the data file or by the
pair_coeff command before running a simulation.
E: Pair cutoff < Respa interior cutoff
UNDOCUMENTED
One or more pairwise cutoffs are too short to use with the specified
rRESPA cutoffs.
*/

View File

@ -72,16 +72,6 @@ The atom style defined does not have this attribute.
E: Pair style requires a KSpace style
UNDOCUMENTED
U: Pair cutoff < Respa interior cutoff
One or more pairwise cutoffs are too short to use with the specified
rRESPA cutoffs.
U: Pair style is incompatible with KSpace style
If a pair style with a long-range Coulombic component is selected,
then a kspace style must also be used.
This pair style is designed for use with a KSpace style.
*/

View File

@ -99,11 +99,6 @@ rRESPA cutoffs.
E: Pair style requires a KSpace style
UNDOCUMENTED
U: Pair style is incompatible with KSpace style
If a pair style with a long-range Coulombic component is selected,
then a kspace style must also be used.
This pair style is designed for use with a KSpace style.
*/

View File

@ -82,16 +82,11 @@ The atom style defined does not have this attribute.
E: Pair style requires a KSpace style
UNDOCUMENTED
This pair style is designed for use with a KSpace style.
E: Pair cutoff < Respa interior cutoff
One or more pairwise cutoffs are too short to use with the specified
rRESPA cutoffs.
U: Pair style is incompatible with KSpace style
If a pair style with a long-range Coulombic component is selected,
then a kspace style must also be used.
*/

View File

@ -93,7 +93,7 @@ TIP4P potentials assume bond lengths in water are constrained
by a fix shake command.
E: Must use an angle style with TIP4P potential
d
TIP4P potentials assume angles in water are constrained by a fix shake
command.
@ -102,9 +102,4 @@ E: Water H epsilon must be 0.0 for pair style lj/cut/coul/long/tip4p
This is because LAMMPS does not compute the Lennard-Jones interactions
with these particles for efficiency reasons.
U: Pair style is incompatible with KSpace style
If a pair style with a long-range Coulombic component is selected,
then a kspace style must also be used.
*/

View File

@ -82,16 +82,16 @@ void PairLJLongCoulLong::settings(int narg, char **arg)
options(arg, 6);
options(++arg, 1);
if (!comm->me && ewald_order & (1<<6))
error->warning(FLERR,"Mixing forced for lj coefficients");
error->warning(FLERR,"Mixing forced for LJ coefficients");
if (!comm->me && ewald_order == ((1<<1) | (1<<6)))
error->warning(FLERR,"Using largest cut-off for lj/coul long long");
error->warning(FLERR,"Using largest cutoff for pair_style lj/long/coullong");
if (!*(++arg))
error->all(FLERR,"Cut-offs missing in pair_style lj/coul");
error->all(FLERR,"Cutoffs missing in pair_style lj/long/coul/long");
if (!((ewald_order^ewald_off) & (1<<1)))
error->all(FLERR,"Coulombic cut not supported in pair_style lj/coul");
error->all(FLERR,"Coulomb cut not supported in pair_style lj/long/coul/long");
cut_lj_global = force->numeric(*(arg++));
if (*arg && ((ewald_order & 0x42) == 0x42))
error->all(FLERR,"Only one cut-off allowed when requesting all long");
error->all(FLERR,"Only one cutoff allowed when requesting all long");
if (narg == 4) cut_coul = force->numeric(*arg);
else cut_coul = cut_lj_global;
@ -226,8 +226,7 @@ void PairLJLongCoulLong::init_style()
// require an atom style with charge defined
if (!atom->q_flag && (ewald_order&(1<<1)))
error->all(FLERR,
"Invoking coulombic in pair style lj/coul requires atom attribute q");
error->all(FLERR,"Pair style lj/long/coul/long requires atom attribute q");
// request regular or rRESPA neighbor lists

View File

@ -73,42 +73,45 @@ class PairLJLongCoulLong : public Pair {
E: Illegal ... command
UNDOCUMENTED
Self-explanatory. Check the input script syntax and compare to the
documentation for the command. You can use -echo screen as a
command-line option when running LAMMPS to see the offending line.
W: Mixing forced for lj coefficients
W: Mixing forced for LJ coefficients
UNDOCUMENTED
Self-explanatory.
W: Using largest cut-off for lj/coul long long
W: Using largest cutoff for pair_style lj/long/coul/long
UNDOCUMENTED
Self-explanatory.
E: Cut-offs missing in pair_style lj/coul
E: Cutoffs missing in pair_style lj/long/coul/long
UNDOCUMENTED
Self-explanatory.
E: Coulombic cut not supported in pair_style lj/coul
E: Coulomb cut not supported in pair_style lj/long/coul/long
UNDOCUMENTED
Must use long-range Coulombic interactions.
E: Only one cut-off allowed when requesting all long
E: Only one cutoff allowed when requesting all long
UNDOCUMENTED
Self-explanatory.
E: Incorrect args for pair coefficients
UNDOCUMENTED
Self-explanatory. Check the input script or data file.
E: Invoking coulombic in pair style lj/coul requires atom attribute q
E: Pair style lj/long/coul/long requires atom attribute q
UNDOCUMENTED
The atom style defined does not have this attribute.
E: Pair style requires a KSpace style
UNDOCUMENTED
This pair style is designed for use with a KSpace style.
E: Pair cutoff < Respa interior cutoff
UNDOCUMENTED
One or more pairwise cutoffs are too short to use with the specified
rRESPA cutoffs.
*/

View File

@ -452,9 +452,9 @@ void PairLJLongTIP4PLong::settings(int narg, char **arg)
if (!comm->me && ewald_order&(1<<6))
error->warning(FLERR,"Mixing forced for lj coefficients");
if (!comm->me && ewald_order==((1<<1)|(1<<6)))
error->warning(FLERR,"Using largest cut-off for lj/coul long long");
error->warning(FLERR,"Using largest cutoff for pair_style lj/long/tip4p/long");
if (!((ewald_order^ewald_off)&(1<<1)))
error->all(FLERR,"Coulombic cut not supported in pair_style lj/coul");
error->all(FLERR,"Coulombic cut not supported in pair_style lj/long/tip4p/long");
typeO = force->inumeric(arg[1]);
typeH = force->inumeric(arg[2]);
typeB = force->inumeric(arg[3]);
@ -484,11 +484,11 @@ void PairLJLongTIP4PLong::settings(int narg, char **arg)
void PairLJLongTIP4PLong::init_style()
{
if (atom->tag_enable == 0)
error->all(FLERR,"Pair style lj/coul/tip4p requires atom IDs");
error->all(FLERR,"Pair style lj/long/tip4p/long requires atom IDs");
if (!force->newton_pair)
error->all(FLERR,"Pair style lj/coul/tip4p requires newton pair on");
error->all(FLERR,"Pair style lj/long/tip4p/long requires newton pair on");
if (!atom->q_flag)
error->all(FLERR,"Pair style lj/coul/tip4p requires atom attribute q");
error->all(FLERR,"Pair style lj/long/tip4p/long requires atom attribute q");
if (force->bond == NULL)
error->all(FLERR,"Must use a bond style with TIP4P potential");
if (force->angle == NULL)
@ -517,7 +517,7 @@ double PairLJLongTIP4PLong::init_one(int i, int j)
if ((i == typeH && epsilon[i][i] != 0.0))
error->all(FLERR,"Water H epsilon must be 0.0 for "
"pair style lj/coul/tip4p");
"pair style lj/long/tip4p/long");
if (i == typeH || j == typeH)
cut_ljsq[j][i] = cut_ljsq[i][j] = 0.0;

View File

@ -76,27 +76,29 @@ command-line option when running LAMMPS to see the offending line.
W: Mixing forced for lj coefficients
UNDOCUMENTED
Self-explanatory.
W: Using largest cut-off for lj/coul long long
W: Using largest cutoff for pair_style lj/long/tip4p/long
UNDOCUMENTED
Self-explanatory.
E: Coulombic cut not supported in pair_style lj/coul
E: Coulomb cut not supported in pair_style lj/long/tip4p/long
UNDOCUMENTED
Must use long-range Coulombic interactions.
E: Pair style lj/coul/tip4p requires atom IDs
E: Pair style lj/long/tip4p/long requires atom IDs
UNDOCUMENTED
There are no atom IDs defined in the system and the TIP4P potential
requires them to find O,H atoms with a water molecule.
E: Pair style lj/coul/tip4p requires newton pair on
E: Pair style lj/long/tip4p/long requires newton pair on
UNDOCUMENTED
This is because the computation of constraint forces within a water
molecule adds forces to atoms owned by other processors.
E: Pair style lj/coul/tip4p requires atom attribute q
E: Pair style lj/long/tip4p/long requires atom attribute q
UNDOCUMENTED
The atom style defined does not have these attributes.
E: Must use a bond style with TIP4P potential
@ -108,27 +110,9 @@ E: Must use an angle style with TIP4P potential
TIP4P potentials assume angles in water are constrained by a fix shake
command.
E: Water H epsilon must be 0.0 for pair style lj/coul/tip4p
E: Water H epsilon must be 0.0 for pair style lj/long/tip4p/long
UNDOCUMENTED
U: Pair style lj/cut/coul/long/tip4p requires atom IDs
There are no atom IDs defined in the system and the TIP4P potential
requires them to find O,H atoms with a water molecule.
U: Pair style lj/cut/coul/long/tip4p requires newton pair on
This is because the computation of constraint forces within a water
molecule adds forces to atoms owned by other processors.
U: Pair style lj/cut/coul/long/tip4p requires atom attribute q
The atom style defined does not have these attributes.
U: Pair style is incompatible with KSpace style
If a pair style with a long-range Coulombic component is selected,
then a kspace style must also be used.
This is because LAMMPS does not compute the Lennard-Jones interactions
with these particles for efficiency reasons.
*/

View File

@ -909,7 +909,7 @@ void PPPM::set_grid_global()
// too many loops have been performed
if (df_kspace <= accuracy) break;
if (count > 500) error->all(FLERR, "Could not compute grid size!");
if (count > 500) error->all(FLERR, "Could not compute grid size");
h *= 0.95;
h_x = h_y = h_z = h;
}

View File

@ -258,23 +258,27 @@ is not valid for Ewald or PPPM.
W: Reducing PPPM order b/c stencil extends beyond nearest neighbor processor
UNDOCUMENTED
This may lead to a larger grid than desired. See the kspace_modify overlap
command to prevent changing of the PPPM order.
E: PPPM order < minimum allowed order
UNDOCUMENTED
The default minimum order is 2. This can be reset by the
kspace_modify minorder command.
E: PPPM grid stencil extends beyond nearest neighbor processor
UNDOCUMENTED
This is not allowed if the kspace_modify overlap setting is no.
E: KSpace accuracy must be > 0
The kspace accuracy designated in the input must be greater than zero.
E: Could not compute grid size!
E: Could not compute grid size
UNDOCUMENTED
The code is unable to compute a grid size consistent with the desired
accuracy. This error should not occur for typical problems. Please
send an email to the developers.
E: PPPM grid is too large
@ -284,7 +288,9 @@ requested accuracy.
E: Could not compute g_ewald
UNDOCUMENTED
The Newton-Raphson solver failed to converge to a good value for
g_ewald. This error should not occur for typical problems. Please
send an email to the developers.
E: Out of range atoms - cannot compute PPPM
@ -306,21 +312,4 @@ E: Cannot (yet) use K-space slab correction with compute group/group
This option is not yet supported.
U: Reducing PPPM order b/c stencil extends beyond neighbor processor
LAMMPS is attempting this in order to allow the simulation
to run. It should not effect the PPPM accuracy.
U: PPPM order has been reduced to 0
LAMMPS has attempted to reduce the PPPM order to enable the simulation
to run, but can reduce the order no further. Try increasing the
accuracy of PPPM by reducing the tolerance size, thus inducing a
larger PPPM grid.
U: Cannot compute PPPM G
LAMMPS failed to compute a valid approximation for the PPPM g_ewald
factor that partitions the computation between real space and k-space.
*/

View File

@ -276,24 +276,28 @@ void PPPMDisp::init()
case 6:
if (ewald_mix==GEOMETRIC) { k = 1; break; }
else if (ewald_mix==ARITHMETIC) { k = 2; break; }
sprintf(str, "Unsupported mixing rule in kspace_style pppm/disp for pair_style %s", force->pair_style);
sprintf(str,"Unsupported mixing rule in "
"kspace_style pppm/disp for pair_style %s", force->pair_style);
error->all(FLERR,str);
default:
sprintf(str, "Unsupported order in kspace_style pppm/disp pair_style %s", force->pair_style);
sprintf(str, "Unsupported order in "
"kspace_style pppm/disp pair_style %s", force->pair_style);
error->all(FLERR,str);
}
function[k] = 1;
}
// warn, if function[0] is not set but charge attribute is set!
// warn, if function[0] is not set but charge attribute is set
if (!function[0] && atom->q_flag && me == 0) {
char str[128];
sprintf(str, "Charges are set, but coulombic solver is not used");
error->warning(FLERR, str);
}
// compute qsum & qsqsum, if function[0] is set, print error if no charges are set or warn if not charge-neutral
// compute qsum & qsqsum, if function[0] is set
// print error if no charges are set or warn if not charge-neutral
if (function[0]) {
if (!atom->q_flag) error->all(FLERR,"Kspace style with selected options requires atom attribute q");
@ -414,7 +418,7 @@ void PPPMDisp::init()
}
if (order < minorder)
error->all(FLERR,"Coulomb PPPMDisp order has been reduced below minorder");
error->all(FLERR,"Coulomb PPPMDisp order < minimum allowed order");
if (cgtmp) delete cgtmp;
// adjust g_ewald
@ -1160,7 +1164,7 @@ void PPPMDisp::init_coeffs() // local pair coeffs
//cannot use sigma, because this has not been set yet
double **sigma = (double **) force->pair->extract("sigma",tmp);
if (!(epsilon&&sigma))
error->all(FLERR,"epsilon or sigma reference not set by pair style in PPPMDisp");
error->all(FLERR,"Epsilon or sigma reference not set by pair style in PPPMDisp");
double eps_i, sigma_i, sigma_n, *bi = B = new double[7*n+7];
double c[7] = {
1.0, sqrt(6.0), sqrt(15.0), sqrt(20.0), sqrt(15.0), sqrt(6.0), 1.0};
@ -2008,7 +2012,8 @@ void PPPMDisp::set_grid()
// break loop if the accuracy has been reached or too many loops have been performed
if (dfkspace <= accuracy) break;
if (count > 500) error->all(FLERR, "Could not compute grid size for Coulomb interaction!");
if (count > 500)
error->all(FLERR,"Could not compute grid size for Coulomb interaction");
h *= 0.95;
h_x = h_y = h_z = h;
}

View File

@ -35,7 +35,6 @@ typedef double FFT_SCALAR;
namespace LAMMPS_NS {
#define EWALD_MAXORDER 6
#define EWALD_FUNCS 3
@ -100,7 +99,6 @@ Variables needed for calculating the 1/r and 1/r^6 potential
int *com_each, *com_order;
FFT_SCALAR *split_1, *split_2;
//// the following variables are needed for every structure factor
FFT_SCALAR ***density_brick;
FFT_SCALAR ***vdx_brick,***vdy_brick,***vdz_brick;
@ -183,7 +181,6 @@ Variables needed for calculating the 1/r and 1/r^6 potential
FFT_SCALAR *work1,*work2;
FFT_SCALAR *work1_6, *work2_6;
class FFT3d *fft1,*fft2 ;
class FFT3d *fft1_6, *fft2_6;
class Remap *remap;
@ -361,23 +358,27 @@ command-line option when running LAMMPS to see the offending line.
E: Cannot (yet) use PPPMDisp with triclinic box
UNDOCUMENTED
This feature is not yet supported.
E: Cannot use PPPMDisp with 2d simulation
UNDOCUMENTED
The kspace style pppm/disp cannot be used in 2d simulations. You can
use 2d PPPM in a 3d simulation; see the kspace_modify command.
E: Cannot use nonperiodic boundaries with PPPMDisp
UNDOCUMENTED
For kspace style pppm/disp, all 3 dimensions must have periodic
boundaries unless you use the kspace_modify command to define a 2d
slab with a non-periodic z dimension.
E: Incorrect boundaries with slab PPPMDisp
UNDOCUMENTED
Must have periodic x,y dimensions and non-periodic z dimension to use
2d slab option with PPPM.
E: PPPMDisp coulomb order cannot be greater than %d
UNDOCUMENTED
This is a limitation of the PPPM implementation in LAMMPS.
E: KSpace style is incompatible with Pair style
@ -386,15 +387,16 @@ Coulombic and Dispersion component be selected.
E: Unsupported mixing rule in kspace_style pppm/disp for pair_style %s
UNDOCUMENTED
Only geometric mixing is supported.
E: Unsupported order in kspace_style pppm/disp pair_style %s
UNDOCUMENTED
Only 1/r^6 dispersion terms are supported.
W: Charges are set, but coulombic solver is not used
UNDOCUMENTED
The atom style supports charge, but this KSpace style does not include
long-range Coulombics.
E: Kspace style with selected options requires atom attribute q
@ -418,59 +420,74 @@ are defined.
E: Bad TIP4P angle type for PPPMDisp/TIP4P
UNDOCUMENTED
Specified angle type is not valid.
E: Bad TIP4P bond type for PPPMDisp/TIP4P
UNDOCUMENTED
Specified bond type is not valid.
W: Reducing PPPMDisp Coulomb order b/c stencil extends beyond neighbor processor.
UNDOCUMENTED
This may lead to a larger grid than desired. See the kspace_modify overlap
command to prevent changing of the PPPM order.
E: PPPMDisp Coulomb grid is too large
UNDOCUMENTED
The global PPPM grid is larger than OFFSET in one or more dimensions.
OFFSET is currently set to 4096. You likely need to decrease the
requested accuracy.
E: Coulomb PPPMDisp order has been reduced below minorder
E: Coulomb PPPMDisp order < minimum allowed order
UNDOCUMENTED
The default minimum order is 2. This can be reset by the
kspace_modify minorder command.
W: Reducing PPPMDisp Dispersion order b/c stencil extends beyond neighbor processor
UNDOCUMENTED
This may lead to a larger grid than desired. See the kspace_modify overlap
command to prevent changing of the PPPM order.
E: PPPMDisp Dispersion grid is too large
UNDOCUMENTED
The global dispersion grid is larger than OFFSET in one or more
dimensions. OFFSET is currently set to 4096. You likely need to
decrease the requested accuracy.
E: Dispersion PPPMDisp order has been reduced below minorder
UNDOCUMENTED
This may lead to a larger grid than desired. See the kspace_modify overlap
command to prevent changing of the dipsersion order.
E: PPPM grid stencil extends beyond nearest neighbor processor
UNDOCUMENTED
This is not allowed if the kspace_modify overlap setting is no.
E: epsilon or sigma reference not set by pair style in PPPMDisp
E: Epsilon or sigma reference not set by pair style in PPPMDisp
UNDOCUMENTED
The pair style is not providing the needed epsilon or sigma values.
E: KSpace accuracy too large to estimate G vector
UNDOCUMENTED
Reduce the accuracy request or specify gwald explicitly
via the kspace_modify command.
E: Could not compute grid size for Coulomb interaction!
E: Could not compute grid size for Coulomb interaction
UNDOCUMENTED
The code is unable to compute a grid size consistent with the desired
accuracy. This error should not occur for typical problems. Please
send an email to the developers.
E: Could not compute g_ewald
UNDOCUMENTED
The Newton-Raphson solver failed to converge to a good value for
g_ewald. This error should not occur for typical problems. Please
send an email to the developers.
E: Could not adjust g_ewald_6
UNDOCUMENTED
The Newton-Raphson solver failed to converge to a good value for
g_ewald_6. This error should not occur for typical problems. Please
send an email to the developers.
E: Cannot compute initial g_ewald_disp
@ -478,114 +495,15 @@ LAMMPS failed to compute an initial guess for the PPPM_disp g_ewald_6
factor that partitions the computation between real space and k-space
for Disptersion interactions.
E: Could not compute grid size for Dispersion!
E: Could not compute grid size for dispersion
UNDOCUMENTED
The code is unable to compute a grid size consistent with the desired
accuracy. This error should not occur for typical problems. Please
send an email to the developers.
E: Out of range atoms - cannot compute PPPMDisp
UNDOCUMENTED
U: Cannot (yet) use PPPM_disp with triclinic box
This feature is not yet supported.
U: Cannot use PPPM_disp with 2d simulation
The kspace style pppm_disp cannot be used in 2d simulations. You can use
2d PPPM_disp in a 3d simulation; see the kspace_modify command.
U: Cannot use nonperiodic boundaries with PPPM_disp
For kspace style pppm_disp, all 3 dimensions must have periodic boundaries
unless you use the kspace_modify command to define a 2d slab with a
non-periodic z dimension.
U: Incorrect boundaries with slab PPPM_disp
Must have periodic x,y dimensions and non-periodic z dimension to use
2d slab option with PPPM_disp.
U: PPPM_disp coulomb order cannot be greater than %d
Self-explanatory.
U: PPPM_disp dispersion order cannot be greater than %d
Self-explanatory.
U: Unsupported mixing rule in kspace_style pppm_disp for pair_style %s
PPPM_disp requires arithemtic or geometric mixing rules.
U: Unsupported order in kspace_style pppm_disp pair_style %s
PPPM_disp only works for 1/r and 1/r^6 potentials
U: Charges are set, but coulombic long-range solver is not used.
Charges have been specified, however, calculations are performed
as if they were zero.
U: Bad TIP4P angle type for PPPM_disp/TIP4P
Specified angle type is not valid.
U: Bad TIP4P bond type for PPPM_disp/TIP4P
Specified bond type is not valid.
U: Reducing PPPM_disp Coulomb order b/c stencil extends beyond neighbor processor
LAMMPS is attempting this in order to allow the simulation
to run. It should not effect the PPPM_disp accuracy.
U: Reducing PPPM_disp Dispersion order b/c stencil extends beyond neighbor processor
LAMMPS is attempting this in order to allow the simulation
to run. It should not effect the PPPM_disp accuracy.
U: PPPM_disp Coulomb grid is too large
The global PPPM_disp grid for Coulomb interactions is larger than OFFSET in one or more dimensions.
OFFSET is currently set to 16384. You likely need to decrease the
requested precision.
U: PPPM_grid Dispersion grid is too large
One of the PPPM_disp grids for Dispersion interactions is larger than OFFSET in one or more dimensions.
OFFSET is currently set to 16384. You likely need to decrease the
requested precision.
U: Coulomb PPPM_disp order has been reduced to 0
LAMMPS has attempted to reduce the PPPM_disp coulomb order to enable the simulation
to run, but can reduce the order no further. Try increasing the
accuracy of PPPM_disp coulomb by reducing the tolerance size, thus inducing a
larger PPPM_disp coulomb grid.
U: Dispersion PPPM_disp order has been reduced to 0
LAMMPS has attempted to reduce the PPPM_disp dispersion order to enable the simulation
to run, but can reduce the order no further. Try increasing the
accuracy of PPPM_disp dispersion by reducing the tolerance size, thus inducing a
larger PPPM_disp dispersion grid.
U: Cannot compute PPPM_disp g_ewald
LAMMPS failed to compute a valid approximation for the PPPM_disp g_ewald
factor that partitions the computation between real space and k-space
for Coulomb interactions.
U: Cannot compute final g_ewald_disp
LAMMPS failed to compute a final value for the PPPM_disp g_ewald_6
factor that partitions the computation between real space and k-space
for Disptersion interactions.
U: Out of range atoms - cannot compute PPPM_disp
One or more atoms are attempting to map their charge to a PPPM_disp grid
One or more atoms are attempting to map their charge to a PPPM grid
point that is not owned by a processor. This is likely for one of two
reasons, both of them bad. First, it may mean that an atom near the
boundary of a processor's sub-domain has moved more than 1/2 the

View File

@ -52,7 +52,7 @@ class PPPMDispTIP4P : public PPPMDisp {
E: Kspace style pppm/disp/tip4p requires newton on
UNDOCUMENTED
Self-explanatory.
E: Out of range atoms - cannot compute PPPM
@ -80,8 +80,4 @@ E: TIP4P hydrogen has incorrect atom type
The TIP4P pairwise computation found an H atom whose type does not
agree with the specified H type.
U: Kspace style pppm/tip4p requires newton on
UNDOCUMENTED
*/

View File

@ -47,7 +47,7 @@ using namespace MathConst;
FixGCMC::FixGCMC(LAMMPS *lmp, int narg, char **arg) :
Fix(lmp, narg, arg)
{
if (narg < 11) error->all(FLERR,"Illegal fix GCMC command");
if (narg < 11) error->all(FLERR,"Illegal fix gcmc command");
vector_flag = 1;
size_vector = 8;
@ -67,12 +67,12 @@ FixGCMC::FixGCMC(LAMMPS *lmp, int narg, char **arg) :
chemical_potential = atof(arg[9]);
displace = atof(arg[10]);
if (nexchanges < 0) error->all(FLERR,"Illegal fix GCMC command");
if (nmcmoves < 0) error->all(FLERR,"Illegal fix GCMC command");
if (seed <= 0) error->all(FLERR,"Illegal fix GCMC command");
if (nexchanges < 0) error->all(FLERR,"Illegal fix gcmc command");
if (nmcmoves < 0) error->all(FLERR,"Illegal fix gcmc command");
if (seed <= 0) error->all(FLERR,"Illegal fix gcmc command");
if (reservoir_temperature < 0.0)
error->all(FLERR,"Illegal fix GCMC command");
if (displace < 0.0) error->all(FLERR,"Illegal fix GCMC command");
error->all(FLERR,"Illegal fix gcmc command");
if (displace < 0.0) error->all(FLERR,"Illegal fix gcmc command");
// set defaults
@ -103,9 +103,9 @@ FixGCMC::FixGCMC(LAMMPS *lmp, int narg, char **arg) :
region_xlo = region_xhi = region_ylo = region_yhi = region_zlo = region_zhi = 0.0;
if (regionflag) {
if (domain->regions[iregion]->bboxflag == 0)
error->all(FLERR,"Fix GCMC region does not support a bounding box");
error->all(FLERR,"Fix gcmc region does not support a bounding box");
if (domain->regions[iregion]->dynamic_check())
error->all(FLERR,"Fix GCMC region cannot be dynamic");
error->all(FLERR,"Fix gcmc region cannot be dynamic");
region_xlo = domain->regions[iregion]->extent_xlo;
region_xhi = domain->regions[iregion]->extent_xhi;
@ -117,7 +117,7 @@ FixGCMC::FixGCMC(LAMMPS *lmp, int narg, char **arg) :
if (region_xlo < domain->boxlo[0] || region_xhi > domain->boxhi[0] ||
region_ylo < domain->boxlo[1] || region_yhi > domain->boxhi[1] ||
region_zlo < domain->boxlo[2] || region_zhi > domain->boxhi[2])
error->all(FLERR,"Fix GCMC region extends outside simulation box");
error->all(FLERR,"Fix gcmc region extends outside simulation box");
// estimate region volume using MC trials
@ -170,32 +170,32 @@ FixGCMC::FixGCMC(LAMMPS *lmp, int narg, char **arg) :
void FixGCMC::options(int narg, char **arg)
{
if (narg < 0) error->all(FLERR,"Illegal fix GCMC command");
if (narg < 0) error->all(FLERR,"Illegal fix gcmc command");
int iarg = 0;
while (iarg < narg) {
if (strcmp(arg[iarg],"molecule") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix GCMC command");
if (iarg+2 > narg) error->all(FLERR,"Illegal fix gcmc command");
if (strcmp(arg[iarg+1],"no") == 0) molflag = 0;
else if (strcmp(arg[iarg+1],"yes") == 0) molflag = 1;
else error->all(FLERR,"Illegal fix GCMC command");
else error->all(FLERR,"Illegal fix gcmc command");
iarg += 2;
} else if (strcmp(arg[iarg],"region") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix GCMC command");
if (iarg+2 > narg) error->all(FLERR,"Illegal fix gcmc command");
iregion = domain->find_region(arg[iarg+1]);
if (iregion == -1)
error->all(FLERR,"Region ID for fix GCMC does not exist");
error->all(FLERR,"Region ID for fix gcmc does not exist");
int n = strlen(arg[iarg+1]) + 1;
idregion = new char[n];
strcpy(idregion,arg[iarg+1]);
regionflag = 1;
iarg += 2;
} else if (strcmp(arg[iarg],"maxangle") == 0) {
if (iarg+2 > narg) error->all(FLERR,"Illegal fix GCMC command");
if (iarg+2 > narg) error->all(FLERR,"Illegal fix gcmc command");
max_rotation_angle = atof(arg[iarg+1]);
max_rotation_angle *= MY_PI/180;
iarg += 2;
} else error->all(FLERR,"Illegal fix GCMC command");
} else error->all(FLERR,"Illegal fix gcmc command");
}
}
@ -228,7 +228,7 @@ void FixGCMC::init()
if (molflag == 0) {
if (ngcmc_type <= 0 || ngcmc_type > atom->ntypes)
error->all(FLERR,"Invalid atom type in fix GCMC command");
error->all(FLERR,"Invalid atom type in fix gcmc command");
}
// if molflag not set, warn if any deletable atom has a mol ID
@ -244,7 +244,7 @@ void FixGCMC::init()
MPI_Allreduce(&flag,&flagall,1,MPI_INT,MPI_SUM,world);
if (flagall && comm->me == 0)
error->all(FLERR,
"Fix GCMC cannot exchange individual atoms belonging to a molecule");
"Fix gcmc cannot exchange individual atoms belonging to a molecule");
}
// if molflag set, check for unset mol IDs
@ -260,22 +260,22 @@ void FixGCMC::init()
MPI_Allreduce(&flag,&flagall,1,MPI_INT,MPI_SUM,world);
if (flagall && comm->me == 0)
error->all(FLERR,
"All mol IDs should be set for fix GCMC group atoms");
"All mol IDs should be set for fix gcmc group atoms");
}
if ((molflag && (atom->molecule_flag == 0)) ||
(molflag && ((!atom->tag_enable) || (!atom->map_style))))
error->all(FLERR,
"Fix GCMC molecule command requires that atoms have molecule attributes");
"Fix gcmc molecule command requires that atoms have molecule attributes");
if (force->pair->single_enable == 0)
error->all(FLERR,"Fix GCMC incompatible with given pair_style");
error->all(FLERR,"Fix gcmc incompatible with given pair_style");
if (domain->dimension == 2)
error->all(FLERR,"Cannot use fix GCMC in a 2d simulation");
error->all(FLERR,"Cannot use fix gcmc in a 2d simulation");
if (domain->triclinic == 1)
error->all(FLERR,"Cannot use fix GCMC with a triclinic box");
error->all(FLERR,"Cannot use fix gcmc with a triclinic box");
// create a new group for rotation molecules
@ -288,7 +288,8 @@ void FixGCMC::init()
group_arg[2] = digits;
group->assign(3,group_arg);
rotation_group = group->find(group_arg[0]);
if (rotation_group == -1) error->all(FLERR,"Could not find fix group ID");
if (rotation_group == -1)
error->all(FLERR,"Could not find fix gcmc rotation group ID");
rotation_groupbit = group->bitmask[rotation_group];
rotation_inversegroupbit = rotation_groupbit ^ ~0;
delete [] group_arg;
@ -301,7 +302,7 @@ void FixGCMC::init()
else gas_mass = atom->mass[ngcmc_type];
if (gas_mass <= 0.0)
error->all(FLERR,"Illegal fix GCMC gas mass <= 0");
error->all(FLERR,"Illegal fix gcmc gas mass <= 0");
// check that no deletable atoms are in atom->firstgroup
// deleting such an atom would not leave firstgroup atoms first
@ -769,7 +770,7 @@ void FixGCMC::attempt_molecule_insertion()
if (random_equal->uniform() < zz*volume*exp(-beta*insertion_energy_sum)/(ngas+1)) {
maxmol++;
if (maxmol >= MAXSMALLINT)
error->all(FLERR,"Fix GCMC ran out of available molecule IDs");
error->all(FLERR,"Fix gcmc ran out of available molecule IDs");
int maxtag = 0;
for (int i = 0; i < atom->nlocal; i++) maxtag = MAX(maxtag,atom->tag[i]);
@ -1042,7 +1043,7 @@ void FixGCMC::get_model_molecule()
MPI_Allreduce(&natoms_per_molecule_local,&natoms_per_molecule,1,MPI_INT,MPI_MAX,world);
if (natoms_per_molecule == 0)
error->all(FLERR,"Fix GCMC could not find any atoms in the user-supplied template molecule");
error->all(FLERR,"Fix gcmc could not find any atoms in the user-supplied template molecule");
memory->create(atom_coord,natoms_per_molecule,3,"fixGCMC:atom_coord");
@ -1148,7 +1149,7 @@ void FixGCMC::get_model_molecule()
int nlocal = atom->nlocal;
if (nlocal != natoms_per_molecule)
error->all(FLERR,"Fix GCMC incorrect number of atoms per molecule");
error->all(FLERR,"Fix gcmc incorrect number of atoms per molecule");
// compute the model molecule's mass and center-of-mass
// then recenter model molecule on the origin

View File

@ -119,65 +119,66 @@ Self-explanatory. Check the input script syntax and compare to the
documentation for the command. You can use -echo screen as a
command-line option when running LAMMPS to see the offending line.
E: Fix GCMC region does not support a bounding box
E: Fix gcmc region does not support a bounding box
UNDOCUMENTED
Not all regions represent bounded volumes. You cannot use
such a region with the fix gcmc command.
E: Fix GCMC region cannot be dynamic
E: Fix gcmc region cannot be dynamic
UNDOCUMENTED
Only static regions can be used with fix gcmc.
E: Fix GCMC region extends outside simulation box
E: Fix gcmc region extends outside simulation box
UNDOCUMENTED
Self-explanatory.
E: Region ID for fix GCMC does not exist
E: Region ID for fix gcmc does not exist
UNDOCUMENTED
Self-explanatory.
E: Invalid atom type in fix GCMC command
E: Invalid atom type in fix gcmc command
The atom type specified in the GCMC command does not exist.
E: Fix GCMC cannot exchange individual atoms belonging to a molecule
E: Fix gcmc cannot exchange individual atoms belonging to a molecule
This is an error since you should not delete only one atom of a molecule.
The user has specified atomic (non-molecular) gas exchanges, but an atom
belonging to a molecule could be deleted.
E: All mol IDs should be set for fix GCMC group atoms
E: All mol IDs should be set for fix gcmc group atoms
The molecule flag is on, yet not all molecule ids in the fix group have
been set to non-zero positive values by the user. This is an error since
all atoms in the fix GCMC group are eligible for deletion, rotation, and
all atoms in the fix gcmc group are eligible for deletion, rotation, and
translation and therefore must have valid molecule ids.
E: Fix GCMC molecule command requires that atoms have molecule attributes
E: Fix gcmc molecule command requires that atoms have molecule attributes
Should not choose the GCMC molecule feature if no molecules are being
simulated. The general molecule flag is off, but GCMC's molecule flag
is on.
E: Fix GCMC incompatible with given pair_style
E: Fix gcmc incompatible with given pair_style
Some pair_styles do not provide single-atom energies, which are needed
by fix GCMC.
by fix gcmc.
E: Cannot use fix GCMC in a 2d simulation
E: Cannot use fix gcmc in a 2d simulation
Fix GCMC is set up to run in 3d only. No 2d simulations with fix GCMC
Fix gcmc is set up to run in 3d only. No 2d simulations with fix gcmc
are allowed.
E: Cannot use fix GCMC with a triclinic box
E: Cannot use fix gcmc with a triclinic box
Fix GCMC is set up to run with othogonal boxes only. Simulations with
triclinic boxes and fix GCMC are not allowed.
Fix gcmc is set up to run with othogonal boxes only. Simulations with
triclinic boxes and fix gcmc are not allowed.
E: Could not find fix group ID
E: Could not find fix gcmc rotation group ID
UNDOCUMENTED
Self-explanatory.
E: Illegal fix GCMC gas mass <= 0
E: Illegal fix gcmc gas mass <= 0
The computed mass of the designated gas molecule or atom type was less
than or equal to zero.
@ -187,46 +188,33 @@ E: Cannot do GCMC on atoms in atom_modify first group
This is a restriction due to the way atoms are organized in a list to
enable the atom_modify first command.
E: Fix GCMC ran out of available molecule IDs
E: Fix gcmc ran out of available molecule IDs
This is a code limitation where more than MAXSMALLINT (usually around
two billion) molecules have been created. The code needs to be
modified to either allow molecule ID recycling or use bigger ints for
molecule IDs. A work-around is to run shorter simulations.
E: Fix GCMC could not find any atoms in the user-supplied template molecule
E: Fix gcmc could not find any atoms in the user-supplied template molecule
When using the molecule option with fix GCMC, the user must supply a
When using the molecule option with fix gcmc, the user must supply a
template molecule in the usual LAMMPS data file with its molecule id
specified in the fix GCMC command as the "type" of the exchanged gas.
specified in the fix gcmc command as the "type" of the exchanged gas.
E: Fix GCMC incorrect number of atoms per molecule
E: Fix gcmc incorrect number of atoms per molecule
The number of atoms in each gas molecule was not computed correctly.
U: Fix GCMC fix group should be all
Fix GCMC will ignore the fix group specified by the user. User should
set the fix group to "all". Fix GCMC will overwrite the user-specified
fix group with a group consisting of all GCMC gas atoms.
U: Fix GCMC region does not support a bounding box
E: Fix gcmc region cannot be dynamic
Not all regions represent bounded volumes. You cannot use
such a region with the fix GCMC command.
Only static regions can be used with fix gcmc.
E: Fix GCMC region cannot be dynamic
Only static regions can be used with fix GCMC.
E: Fix GCMC region extends outside simulation box
E: Fix gcmc region extends outside simulation box
Self-explanatory.
E: Region ID for fix GCMC does not exist
E: Region ID for fix gcmc does not exist
Self-explanatory.
*/

View File

@ -957,8 +957,8 @@ void AtomVecFull::data_atom(double *coord, tagint imagetmp, char **values)
int AtomVecFull::data_atom_hybrid(int nlocal, char **values)
{
molecule[nlocal] = atoi(values[1]);
q[nlocal] = atof(values[3]);
molecule[nlocal] = atoi(values[0]);
q[nlocal] = atof(values[1]);
num_bond[nlocal] = 0;
num_angle[nlocal] = 0;

View File

@ -59,7 +59,9 @@ class ImproperHybrid : public Improper {
E: Illegal ... command
UNDOCUMENTED
Self-explanatory. Check the input script syntax and compare to the
documentation for the command. You can use -echo screen as a
command-line option when running LAMMPS to see the offending line.
E: Improper style hybrid cannot use same improper style twice

View File

@ -425,7 +425,7 @@ FixRigid::FixRigid(LAMMPS *lmp, int narg, char **arg) :
int idilate = group->find(id_dilate);
if (idilate == -1)
error->all(FLERR,
"Fix rigid nvt/npt/nph dilate group ID does not exist");
"Fix rigid npt/nph dilate group ID does not exist");
}
iarg += 2;

View File

@ -176,9 +176,9 @@ E: Fix rigid langevin period must be > 0.0
Self-explanatory.
E: Fix rigid nvt/npt/nph dilate group ID does not exist
E: Fix rigid npt/nph dilate group ID does not exist
UNDOCUMENTED
Self-explanatory.
E: One or zero atoms in rigid body
@ -204,7 +204,7 @@ not be accounted for.
E: Fix rigid atom has non-zero image flag in a non-periodic dimension
You cannot set image flags for non-periodic dimensions.
Image flags for non-periodic dimensions should not be set.
E: Insufficient Jacobi rotations for rigid body

View File

@ -245,13 +245,13 @@ void FixRigidNH::init()
if (tcomputeflag) {
icompute = modify->find_compute(id_temp);
if (icompute < 0)
error->all(FLERR,"Temp ID for fix rigid npt/nph does not exist");
error->all(FLERR,"Temperature ID for fix rigid nvt/npt/nph does not exist");
temperature = modify->compute[icompute];
}
if (pstat_flag) {
if (domain->triclinic)
error->all(FLERR,"fix rigid npt/nph does not yet allow triclinic box");
error->all(FLERR,"Fix rigid npt/nph does not yet allow triclinic box");
// ensure no conflict with fix deform
@ -283,7 +283,7 @@ void FixRigidNH::init()
icompute = modify->find_compute(id_press);
if (icompute < 0)
error->all(FLERR,"Press ID for fix rigid npt/nph does not exist");
error->all(FLERR,"Pressure ID for fix rigid npt/nph does not exist");
pressure = modify->compute[icompute];
// detect if any rigid fixes exist so rigid bodies move on remap

View File

@ -38,7 +38,8 @@ class FixRigidNH : public FixRigid {
double boltz,nktv2p,mvv2e; // boltzman constant, conversion factors
int nf_t,nf_r; // trans/rot degrees of freedom
double onednft,onednfr; // factors 1 + dimension/trans(rot) degrees of freedom
double onednft,onednfr; // factors 1 + dimension/trans(rot)
// degrees of freedom
double *w,*wdti1,*wdti2,*wdti4; // Yoshida-Suzuki coefficients
double *q_t,*q_r; // trans/rot thermostat masses
double *eta_t,*eta_r; // trans/rot thermostat positions
@ -104,7 +105,7 @@ inline double FixRigidNH::maclaurin_series(double x)
E: Fix rigid npt/nph period must be > 0.0
UNDOCUMENTED
Self-explanatory.
E: Invalid fix rigid npt/nph command for a 2d simulation
@ -132,21 +133,21 @@ E: Fix rigid npt/nph dilate group ID does not exist
Self-explanatory.
E: Temp ID for fix rigid npt/nph does not exist
E: Temperature ID for fix rigid nvt/npt does not exist
UNDOCUMENTED
Self-explanatory
E: fix rigid npt/nph does not yet allow triclinic box
UNDOCUMENTED
This is a current restriction of the command.
E: Cannot use fix rigid npt/nph and fix deform on same component of stress tensor
This would be changing the same box dimension twice.
E: Press ID for fix rigid npt/nph does not exist
E: Pressure ID for fix rigid npt/nph does not exist
UNDOCUMENTED
Self-explanatory.
E: Illegal ... command
@ -179,16 +180,4 @@ E: Fix_modify pressure ID does not compute pressure
The compute ID assigned to the fix must compute pressure.
U: Target temperature for fix rigid nvt/npt cannot be 0.0
Self-explanatory.
U: Temperature ID for fix rigid npt/nph does not exist
Self-explanatory.
U: Pressure ID for fix rigid npt/nph does not exist
Self-explanatory.
*/

View File

@ -40,14 +40,12 @@ FixRigidNPH::FixRigidNPH(LAMMPS *lmp, int narg, char **arg) :
// error checks
if (pstat_flag == 0)
error->all(FLERR,"Pressure control must be used with fix nph");
error->all(FLERR,"Did not set pressure for fix rigid/nph");
if (tstat_flag == 1)
error->all(FLERR,"Temperature control must not be used with fix nph");
if (p_start[0] < 0.0 || p_start[1] < 0.0 || p_start[2] < 0.0 ||
p_stop[0] < 0.0 || p_stop[1] < 0.0 || p_stop[2] < 0.0)
error->all(FLERR,"Target pressure for fix rigid/nph cannot be 0.0");
error->all(FLERR,"Cannot set temperature for fix rigid/nph");
// convert input periods to frequency
p_freq[0] = p_freq[1] = p_freq[2] = 0.0;
if (p_flag[0]) p_freq[0] = 1.0 / p_period[0];

View File

@ -38,16 +38,12 @@ class FixRigidNPH : public FixRigidNH {
/* ERROR/WARNING messages:
E: Pressure control must be used with fix nph
E: Did not set pressure for fix rigid/nph
UNDOCUMENTED
The press keyword must be specified.
E: Temperature control must not be used with fix nph
E: Cannot set temperature for fix rigid/nph
UNDOCUMENTED
E: Target pressure for fix rigid/nph cannot be 0.0
UNDOCUMENTED
The temp keyword cannot be specified.
*/

View File

@ -40,21 +40,17 @@ FixRigidNPT::FixRigidNPT(LAMMPS *lmp, int narg, char **arg) :
// error checks
if (tstat_flag == 0 || pstat_flag == 0)
error->all(FLERR,"Did not set temp or press for fix rigid/npt");
error->all(FLERR,"Did not set temperature or pressure for fix rigid/npt");
if (t_start <= 0.0 || t_stop <= 0.0)
error->all(FLERR,"Target temperature for fix rigid/npt cannot be 0.0");
if (p_start[0] < 0.0 || p_start[1] < 0.0 || p_start[2] < 0.0 ||
p_stop[0] < 0.0 || p_stop[1] < 0.0 || p_stop[2] < 0.0)
error->all(FLERR,"Target pressure for fix rigid/npt cannot be 0.0");
if (t_period <= 0.0) error->all(FLERR,"Fix rigid/npt period must be > 0.0");
// thermostat chain parameters
if (t_chain < 1) error->all(FLERR,"Illegal fix_modify command");
if (t_iter < 1) error->all(FLERR,"Illegal fix_modify command");
if (t_chain < 1) error->all(FLERR,"Illegal fix rigid/npt command");
if (t_iter < 1) error->all(FLERR,"Illegal fix rigid/npt command");
if (t_order != 3 && t_order != 5)
error->all(FLERR,"Fix_modify order must be 3 or 5");
error->all(FLERR,"Fix rigid/npt temperature order must be 3 or 5");
// convert input periods to frequency

View File

@ -38,28 +38,26 @@ class FixRigidNPT : public FixRigidNH {
/* ERROR/WARNING messages:
E: Did not set temp or press for fix rigid/npt
E: Did not set temperature or pressure for fix rigid/npt
UNDOCUMENTED
The temp and press keywords must be specified.
E: Target temperature for fix rigid/npt cannot be 0.0
UNDOCUMENTED
E: Target pressure for fix rigid/npt cannot be 0.0
UNDOCUMENTED
Self-explanatory.
E: Fix rigid/npt period must be > 0.0
UNDOCUMENTED
Self-explanatory.
E: Illegal ... command
UNDOCUMENTED
Self-explanatory. Check the input script syntax and compare to the
documentation for the command. You can use -echo screen as a
command-line option when running LAMMPS to see the offending line.
E: Fix_modify order must be 3 or 5
E: Fix rigid/npt temperature order must be 3 or 5
UNDOCUMENTED
Self-explanatory.
*/

View File

@ -37,14 +37,14 @@ FixRigidNVT::FixRigidNVT(LAMMPS *lmp, int narg, char **arg) :
// convert input period to frequency
if (tstat_flag == 0)
error->all(FLERR,"Did not set temp for fix rigid/nvt");
error->all(FLERR,"Did not set temperature for fix rigid/nvt");
if (t_start < 0.0 || t_stop <= 0.0)
error->all(FLERR,"Target temperature for fix rigid/nvt cannot be 0.0");
if (t_period <= 0.0) error->all(FLERR,"Fix rigid/nvt period must be > 0.0");
t_freq = 1.0 / t_period;
if (t_chain < 1) error->all(FLERR,"Illegal fix_modify command");
if (t_iter < 1) error->all(FLERR,"Illegal fix_modify command");
if (t_chain < 1) error->all(FLERR,"Illegal fix rigid/nvt command");
if (t_iter < 1) error->all(FLERR,"Illegal fix rigid/nvt command");
if (t_order != 3 && t_order != 5)
error->all(FLERR,"Fix_modify order must be 3 or 5");
error->all(FLERR,"Fix rigid/nvt temperature order must be 3 or 5");
}

View File

@ -37,24 +37,26 @@ class FixRigidNVT : public FixRigidNH {
/* ERROR/WARNING messages:
E: Did not set temp for fix rigid/nvt
E: Illegal ... command
UNDOCUMENTED
Self-explanatory. Check the input script syntax and compare to the
documentation for the command. You can use -echo screen as a
command-line option when running LAMMPS to see the offending line.
E: Did not set temperature for fix rigid/nvt
The temp keyword must be specified.
E: Target temperature for fix rigid/nvt cannot be 0.0
UNDOCUMENTED
Self-explanatory.
E: Fix rigid/nvt period must be > 0.0
UNDOCUMENTED
Self-explanatory.
E: Illegal ... command
E: Fix rigid/nvt temperature order must be 3 or 5
UNDOCUMENTED
E: Fix_modify order must be 3 or 5
UNDOCUMENTED
Self-explanatory.
*/

View File

@ -178,11 +178,11 @@ command-line option when running LAMMPS to see the offending line.
E: Fix rigid/small langevin period must be > 0.0
UNDOCUMENTED
Self-explanatory.
E: Fix rigid/small requires atom attribute molecule
UNDOCUMENTED
Self-explanatory.
E: No rigid bodies defined
@ -207,7 +207,7 @@ not be accounted for.
E: Fix rigid/small atom has non-zero image flag in a non-periodic dimension
UNDOCUMENTED
Image flags for non-periodic dimensions should not be set.
E: Insufficient Jacobi rotations for rigid body
@ -220,104 +220,10 @@ are not within the required tolerances.
E: Rigid body atoms %d %d missing on proc %d at step %ld
UNDOCUMENTED
E: BAD AAA
UNDOCUMENTED
E: BAD BBB
UNDOCUMENTED
E: BAD CCC
UNDOCUMENTED
E: BAD DDD
UNDOCUMENTED
E: BAD EEE
UNDOCUMENTED
E: BAD FFF
UNDOCUMENTED
E: BAD GGG
UNDOCUMENTED
E: BAD HHH
UNDOCUMENTED
E: BAD III
UNDOCUMENTED
E: BAD JJJ
UNDOCUMENTED
E: BAD KKK
UNDOCUMENTED
E: BAD LLL
UNDOCUMENTED
U: Fix rigid molecule requires atom attribute molecule
Self-explanatory.
U: Could not find fix rigid group ID
A group ID used in the fix rigid command does not exist.
U: One or more atoms belong to multiple rigid bodies
Two or more rigid bodies defined by the fix rigid command cannot
contain the same atom.
U: Fix rigid z force cannot be on for 2d simulation
Self-explanatory.
U: Fix rigid xy torque cannot be on for 2d simulation
Self-explanatory.
U: Fix rigid langevin period must be > 0.0
Self-explanatory.
U: One or zero atoms in rigid body
Any rigid body defined by the fix rigid command must contain 2 or more
atoms.
U: Fix rigid atom has non-zero image flag in a non-periodic dimension
You cannot set image flags for non-periodic dimensions.
U: Cannot open fix rigid infile %s
UNDOCUMENTED
U: Unexpected end of fix rigid file
UNDOCUMENTED
U: Incorrect rigid body format in fix rigid file
UNDOCUMENTED
U: Invalid rigid body ID in fix rigid file
UNDOCUMENTED
This means that an atom cannot find the atom that owns the rigid body
it is part of, or vice versa. The solution is to use the communicate
cutoff command to insure ghost atoms are acquired from far enough away
to encompass the max distance printed when the fix rigid/small command
was invoked.
*/

View File

@ -127,7 +127,7 @@ FixAppendAtoms::FixAppendAtoms(LAMMPS *lmp, int narg, char **arg) :
} else if (strcmp(arg[iarg],"basis") == 0) {
if (iarg+3 > narg) error->all(FLERR,"Illegal fix append/atoms command");
if (domain->lattice == NULL)
error->all(FLERR,"Must define lattice to append/atoms");
error->all(FLERR,"Fis append/atoms requires a lattice be defined");
int ibasis = atoi(arg[iarg+1]);
int itype = atoi(arg[iarg+2]);
if (ibasis <= 0 || ibasis > nbasis || itype <= 0 || itype > atom->ntypes)

View File

@ -66,7 +66,7 @@ command-line option when running LAMMPS to see the offending line.
E: Fix append/atoms requires a lattice be defined
UNDOCUMENTED
Use the lattice command for this purpose.
E: Only zhi currently implemented for fix append/atoms
@ -82,10 +82,6 @@ E: Bad fix ID in fix append/atoms command
The value of the fix_id for keyword spatial must start with the suffix
f_.
E: Must define lattice to append/atoms
A lattice must be defined before using this fix.
E: Cannot use append/atoms in periodic dimension
The boundary style of the face where atoms are added can not be of

View File

@ -340,10 +340,6 @@ W: SRD particle %d started inside big particle %d on step %ld bounce %d
See the inside keyword if you want this message to be an error vs
warning.
W: SRD particle %d started inside big particle %d on step %ld bounce %d
UNDOCUMENTED
E: Bad quadratic solve for particle/line collision
This is an internal error. It should nornally not occur.

View File

@ -72,8 +72,8 @@ AtomVecBody::~AtomVecBody()
{
int nall = nlocal_bonus + nghost_bonus;
for (int i = 0; i < nall; i++) {
memory->destroy(bonus[i].ivalue);
memory->destroy(bonus[i].dvalue);
icp->put(bonus[i].iindex);
dcp->put(bonus[i].dindex);
}
memory->sfree(bonus);
@ -105,6 +105,8 @@ void AtomVecBody::settings(int narg, char **arg)
else error->all(FLERR,"Invalid body style");
bptr->avec = this;
icp = bptr->icp;
dcp = bptr->dcp;
// max size of forward/border comm
// 7,16 are packed in pack_comm/pack_border
@ -212,8 +214,8 @@ void AtomVecBody::copy(int i, int j, int delflag)
// if deleting atom J via delflag and J has bonus data, then delete it
if (delflag && body[j] >= 0) {
memory->destroy(bonus[body[j]].ivalue);
memory->destroy(bonus[body[j]].dvalue);
icp->put(bonus[body[j]].iindex);
dcp->put(bonus[body[j]].dindex);
copy_bonus(nlocal_bonus-1,body[j]);
nlocal_bonus--;
}
@ -249,8 +251,8 @@ void AtomVecBody::clear_bonus()
{
int nall = nlocal_bonus + nghost_bonus;
for (int i = nlocal_bonus; i < nall; i++) {
memory->destroy(bonus[i].ivalue);
memory->destroy(bonus[i].dvalue);
icp->put(bonus[i].iindex);
dcp->put(bonus[i].dindex);
}
nghost_bonus = 0;
}
@ -841,8 +843,8 @@ void AtomVecBody::unpack_border(int n, int first, double *buf)
inertia[2] = buf[m++];
bonus[j].ninteger = static_cast<int> (buf[m++]);
bonus[j].ndouble = static_cast<int> (buf[m++]);
memory->create(bonus[j].ivalue,bonus[j].ninteger,"body:ivalue");
memory->create(bonus[j].dvalue,bonus[j].ndouble,"body:dvalue");
bonus[j].ivalue = icp->get(bonus[j].ninteger,bonus[j].iindex);
bonus[j].dvalue = dcp->get(bonus[j].ndouble,bonus[j].dindex);
m += bptr->unpack_border_body(&bonus[j],&buf[m]);
bonus[j].ilocal = i;
body[i] = j;
@ -884,8 +886,8 @@ void AtomVecBody::unpack_border_vel(int n, int first, double *buf)
inertia[2] = buf[m++];
bonus[j].ninteger = static_cast<int> (buf[m++]);
bonus[j].ndouble = static_cast<int> (buf[m++]);
memory->create(bonus[j].ivalue,bonus[j].ninteger,"body:ivalue");
memory->create(bonus[j].dvalue,bonus[j].ndouble,"body:dvalue");
bonus[j].ivalue = icp->get(bonus[j].ninteger,bonus[j].iindex);
bonus[j].dvalue = dcp->get(bonus[j].ndouble,bonus[j].dindex);
m += bptr->unpack_border_body(&bonus[j],&buf[m]);
bonus[j].ilocal = i;
body[i] = j;
@ -926,8 +928,8 @@ int AtomVecBody::unpack_border_hybrid(int n, int first, double *buf)
inertia[2] = buf[m++];
bonus[j].ninteger = static_cast<int> (buf[m++]);
bonus[j].ndouble = static_cast<int> (buf[m++]);
memory->create(bonus[j].ivalue,bonus[j].ninteger,"body:ivalue");
memory->create(bonus[j].dvalue,bonus[j].ndouble,"body:dvalue");
bonus[j].ivalue = icp->get(bonus[j].ninteger,bonus[j].iindex);
bonus[j].dvalue = dcp->get(bonus[j].ndouble,bonus[j].dindex);
m += bptr->unpack_border_body(&bonus[j],&buf[m]);
bonus[j].ilocal = i;
body[i] = j;
@ -1030,10 +1032,10 @@ int AtomVecBody::unpack_exchange(double *buf)
inertia[2] = buf[m++];
bonus[nlocal_bonus].ninteger = static_cast<int> (buf[m++]);
bonus[nlocal_bonus].ndouble = static_cast<int> (buf[m++]);
memory->create(bonus[nlocal_bonus].ivalue,bonus[nlocal_bonus].ninteger,
"body:ivalue");
memory->create(bonus[nlocal_bonus].dvalue,bonus[nlocal_bonus].ndouble,
"body:dvalue");
bonus[nlocal_bonus].ivalue = icp->get(bonus[nlocal_bonus].ninteger,
bonus[nlocal_bonus].iindex);
bonus[nlocal_bonus].dvalue = dcp->get(bonus[nlocal_bonus].ndouble,
bonus[nlocal_bonus].dindex);
memcpy(bonus[nlocal_bonus].ivalue,&buf[m],
bonus[nlocal_bonus].ninteger*sizeof(int));
if (intdoubleratio == 1) m += bonus[nlocal_bonus].ninteger;
@ -1182,10 +1184,10 @@ int AtomVecBody::unpack_restart(double *buf)
inertia[2] = buf[m++];
bonus[nlocal_bonus].ninteger = static_cast<int> (buf[m++]);
bonus[nlocal_bonus].ndouble = static_cast<int> (buf[m++]);
memory->create(bonus[nlocal_bonus].ivalue,bonus[nlocal_bonus].ninteger,
"body:ivalue");
memory->create(bonus[nlocal_bonus].dvalue,bonus[nlocal_bonus].ndouble,
"body:dvalue");
bonus[nlocal_bonus].ivalue = icp->get(bonus[nlocal_bonus].ninteger,
bonus[nlocal_bonus].iindex);
bonus[nlocal_bonus].dvalue = dcp->get(bonus[nlocal_bonus].ndouble,
bonus[nlocal_bonus].dindex);
memcpy(bonus[nlocal_bonus].ivalue,&buf[m],
bonus[nlocal_bonus].ninteger*sizeof(int));
if (intdoubleratio == 1) m += bonus[nlocal_bonus].ninteger;
@ -1399,6 +1401,7 @@ bigint AtomVecBody::memory_usage()
if (atom->memcheck("body")) bytes += memory->usage(body,nmax);
bytes += nmax_bonus*sizeof(Bonus);
bytes += icp->size + dcp->size;
int nall = nlocal_bonus + nghost_bonus;
for (int i = 0; i < nall; i++) {

View File

@ -21,16 +21,11 @@ AtomStyle(body,AtomVecBody)
#define LMP_ATOM_VEC_BODY_H
#include "atom_vec.h"
#include "my_pool.h"
namespace LAMMPS_NS {
class AtomVecBody : public AtomVec {
friend class Comm;
public:
class Body *bptr;
@ -38,6 +33,7 @@ class AtomVecBody : public AtomVec {
double quat[4];
double inertia[3];
int ninteger,ndouble;
int iindex,dindex;
int *ivalue;
double *dvalue;
int ilocal;
@ -100,6 +96,9 @@ class AtomVecBody : public AtomVec {
int copyflag;
int intdoubleratio; // sizeof(double) / sizeof(int)
MyPool<int> *icp;
MyPool<double> *dcp;
void grow_bonus();
void copy_bonus(int, int);
//void check(int);

View File

@ -16,11 +16,15 @@
#include "pointers.h"
#include "atom_vec_body.h"
#include "my_pool.h"
namespace LAMMPS_NS {
class Body : protected Pointers {
public:
MyPool<int> *icp;
MyPool<double> *dcp;
char *style;
int size_forward; // max extra values packed for comm
int size_border; // max extra values packed for border comm

View File

@ -102,10 +102,6 @@ The atom style being used does not specify an atom diameter.
E: Fix adapt requires atom attribute charge
UNDOCUMENTED
U: Fix adapt requires atom attribute charge
The atom style being used does not specify an atom charge.
*/

View File

@ -84,8 +84,4 @@ E: Cannot open fix balance output file
Self-explanatory.
U: Cannot yet use fix balance with PPPM
This is a current limitation of LAMMPS.
*/

View File

@ -127,7 +127,9 @@ then the y dimension must be periodic.
E: Cannot use fix box/relax with tilt factor scaling on a 2nd non-periodic dimension
UNDOCUMENTED
When specifying scaling on a tilt factor component, the 2nd of the two
dimensions must be periodic. E.g. if the xy component is specified,
then the y dimension must be periodic.
E: Cannot use fix box/relax with both relaxation and scaling on a tilt factor
@ -191,10 +193,4 @@ E: Fix_modify pressure ID does not compute pressure
The compute ID assigned to the fix must compute pressure.
U: Cannot use fix box/relax with tilt factor scaling on a 2nd non-periodic dimension"
When specifying scaling on a tilt factor component, the 2nd of the two
dimensions must be periodic. E.g. if the xy component is specified,
then the y dimension must be periodic.
*/

View File

@ -124,7 +124,7 @@ void FixHeat::init()
if (hvar < 0)
error->all(FLERR,"Variable name for fix heat does not exist");
if (input->variable->equalstyle(hvar)) hstyle = EQUAL;
else if (input->variable->equalstyle(hvar)) hstyle = ATOM;
else if (input->variable->atomstyle(hvar)) hstyle = ATOM;
else error->all(FLERR,"Variable for fix heat is invalid style");
}

View File

@ -67,11 +67,11 @@ Self-explanatory.
E: Variable name for fix heat does not exist
UNDOCUMENTED
Self-explanatory.
E: Variable for fix heat is invalid style
UNDOCUMENTED
Only equal-style or atom-style variables can be used.
E: Fix heat group has no atoms
@ -84,6 +84,7 @@ heat to be invalid.
E: Fix heat kinetic energy of an atom went negative
UNDOCUMENTED
This will cause the velocity rescaling about to be performed by fix
heat to be invalid.
*/

View File

@ -114,7 +114,7 @@ set to lattice.
E: Zero length rotation vector with fix move
UNDOCUMENTED
Self-explanatory.
E: Variable name for fix move does not exist
@ -132,8 +132,4 @@ E: Resetting timestep is not allowed with fix move
This is because fix move is moving atoms based on elapsed time.
U: Fix move cannot have 0 length rotation vector
Self-explanatory.
*/

View File

@ -602,7 +602,7 @@ void FixNH::init()
int icompute = modify->find_compute(id_temp);
if (icompute < 0)
error->all(FLERR,"Temperature ID for fix nvt/nph/npt does not exist");
error->all(FLERR,"Temperature ID for fix nvt/npt does not exist");
temperature = modify->compute[icompute];
if (temperature->tempbias) which = BIAS;

View File

@ -218,7 +218,7 @@ E: Cannot use fix npt and fix deform on same component of stress tensor
This would be changing the same box dimension twice.
E: Temperature ID for fix nvt/nph/npt does not exist
E: Temperature ID for fix nvt/npt does not exist
Self-explanatory.

View File

@ -101,6 +101,6 @@ Only equal-style variables can be used.
E: Variable evaluation in fix wall gave bad value
UNDOCUMENTED
The returned value for epsilon or sigma < 0.0.
*/

View File

@ -118,11 +118,11 @@ A region ID used in the group command does not exist.
E: Variable name for group does not exist
UNDOCUMENTED
Self-explanatory.
E: Variable for group is invalid style
UNDOCUMENTED
Only atom-style variables can be used.
E: Group ID does not exist

View File

@ -220,7 +220,8 @@ or create_box command.
E: Box command after simulation box is defined
UNDOCUMENTED
The box command cannot be used after a read_data, read_restart, or
create_box command.
E: Dihedral_coeff command before simulation box is defined
@ -324,12 +325,4 @@ E: Units command after simulation box is defined
The units command cannot be used after a read_data, read_restart, or
create_box command.
U: Input line too long: %s
This is a hard (very large) limit defined in the input.cpp file.
U: Input line too long after variable substitution
This is a hard (very large) limit defined in the input.cpp file.
*/

View File

@ -158,11 +158,15 @@ class KSpace : protected Pointers {
E: KSpace solver requires a pair style
UNDOCUMENTED
No pair style is defined.
E: KSpace style is incompatible with Pair style
UNDOCUMENTED
The Ewald and PPPM solvers work with pair styles with a "coul/long" in
their name. The MSM solver with pair styles with a "coul/msm" in
their name, The dispersion solvers with pair styles with a "lj/long"
in the name. The TIP4P solvers with pair styles with a "tip4p" in the
name.
W: For better accuracy use 'pair_modify table 0'

View File

@ -150,8 +150,4 @@ E: Cannot use -cuda on without USER-CUDA installed
The USER-CUDA package must be installed via "make yes-user-cuda"
before LAMMPS is built.
U: 64-bit atom IDs are not yet supported
See description of this data type in src/lmptype.h.
*/

View File

@ -49,10 +49,13 @@ void lammps_scatter_atoms(void *, char *, int, int, void *);
W: Library error in lammps_gather_atoms
UNDOCUMENTED
This library function cannot be used if atom IDs are not defined
or are not consecutively numbered.
W: Library error in lammps_scatter_atoms
UNDOCUMENTED
This library function cannot be used if atom IDs are not defined or
are not consecutively numbered, or if no atom map is defined. See the
atom_modify command for details about atom maps.
*/

View File

@ -21,7 +21,9 @@ short or the bond has blown apart and an atom is too far away.
E: Bond extent > half of periodic box length
UNDOCUMENTED
This error was detected by the neigh_modify check yes setting. It is
an error because the bond atoms are so far apart it is ambiguous how
it should be defined.
E: Angle atoms %d %d %d missing on proc %d at step %ld
@ -32,7 +34,9 @@ too far away.
E: Angle extent > half of periodic box length
UNDOCUMENTED
This error was detected by the neigh_modify check yes setting. It is
an error because the angle atoms are so far apart it is ambiguous how
it should be defined.
E: Dihedral atoms %d %d %d %d missing on proc %d at step %ld
@ -43,7 +47,9 @@ too far away.
E: Dihedral/improper extent > half of periodic box length
UNDOCUMENTED
This error was detected by the neigh_modify check yes setting. It is
an error because the dihedral atoms are so far apart it is ambiguous
how it should be defined.
E: Improper atoms %d %d %d %d missing on proc %d at step %ld

View File

@ -331,7 +331,13 @@ Atom types must range from 1 to Ntypes inclusive.
W: Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies
UNDOCUMENTED
This is because excluding specific pair interactions also excludes
them from long-range interactions which may not be the desired effect.
The special_bonds command handles this consistently by insuring
excluded (or weighted) 1-2, 1-3, 1-4 interactions are treated
consistently by both the short-range pair style and the long-range
solver. This is not done for exclusions of charged atom pairs via the
neigh_modify exclude command.
E: Neighbor include group not allowed with ghost neighbors

View File

@ -238,7 +238,7 @@ pair_coeff command before running a simulation.
E: Pair style requres a KSpace style
UNDOCUMENTED
No kspace style is defined.
E: Pair style does not support pair_write

View File

@ -57,11 +57,13 @@ class PairCoulDSF : public Pair {
E: Illegal ... command
UNDOCUMENTED
Self-explanatory. Check the input script syntax and compare to the
documentation for the command. You can use -echo screen as a
command-line option when running LAMMPS to see the offending line.
E: Incorrect args for pair coefficients
UNDOCUMENTED
Self-explanatory. Check the input script or data file.
E: Pair style coul/dsf requires atom attribute q

View File

@ -62,14 +62,16 @@ class PairLJCutCoulDSF : public Pair {
E: Illegal ... command
UNDOCUMENTED
Self-explanatory. Check the input script syntax and compare to the
documentation for the command. You can use -echo screen as a
command-line option when running LAMMPS to see the offending line.
E: Incorrect args for pair coefficients
UNDOCUMENTED
Self-explanatory. Check the input script or data file.
E: Pair style lj/cut/coul/dsf requires atom attribute q
UNDOCUMENTED
The atom style defined does not have these attributes.
*/

View File

@ -139,11 +139,11 @@ The Atoms section of a data file must come before a Triangles section.
E: Invalid data file section: Bodies
UNDOCUMENTED
Atom style does not allow bodies.
E: Must read Atoms before Bodies
UNDOCUMENTED
The Atoms section of a data file must come before a Bodies section.
E: Invalid data file section: Bonds
@ -319,7 +319,7 @@ Self-explanatory. Check data file.
E: No bodies allowed with this atom style
UNDOCUMENTED
Self-explanatory. Check data file.
E: System in data file is too big
@ -369,7 +369,8 @@ Atom IDs must be positive integers.
E: Too many lines in one body in data file - boost MAXBODY
UNDOCUMENTED
MAXBODY is a setting at the top of the src/read_data.cpp file.
Set it larger and re-compile the code.
E: Bonds assigned incorrectly

View File

@ -96,7 +96,8 @@ private:
E: Read_dump command before simulation box is defined
UNDOCUMENTED
The read_dump command cannot be used before a read_data, read_restart,
or create_box command.
E: Illegal ... command

View File

@ -68,14 +68,14 @@ create_box command has been used.
E: Variable evaluation in region gave bad value
UNDOCUMENTED
Variable returned a radius < 0.0.
E: Variable name for region cylinder does not exist
UNDOCUMENTED
Self-explanatory.
E: Variable for region cylinder is invalid style
UNDOCUMENTED
Only equal-style varaibles are allowed.
*/

View File

@ -58,14 +58,14 @@ command-line option when running LAMMPS to see the offending line.
E: Variable evaluation in region gave bad value
UNDOCUMENTED
Variable returned a radius < 0.0.
E: Variable name for region sphere does not exist
UNDOCUMENTED
Self-explanatory.
E: Variable for region sphere is invalid style
UNDOCUMENTED
Only equal-style varaibles are allowed.
*/

View File

@ -138,7 +138,7 @@ originally an equal-style variable.
E: File variable could not read value
UNDOCUMENTED
Check the file assigned to the variable.
E: Variable name must be alphanumeric or underscore characters
@ -226,7 +226,9 @@ Variable name is not recognized.
E: Variable has circular dependency
UNDOCUMENTED
A circular dependency is when variable "a" in used by variable "b" and
variable "b" is also used by varaible "a". Circular dependencies with
longer chains of dependence are also not allowed.
E: Invalid variable evaluation in variable formula
@ -257,7 +259,7 @@ Self-explanatory.
E: Modulo 0 in variable formula
UNDOCUMENTED
Self-explanatory.
E: Power by 0 in variable formula
@ -346,11 +348,11 @@ Grmask is per-atom operation.
E: Variable ID in variable formula does not exist
UNDOCUMENTED
Self-explanatory.
E: Invalid variable in special function next
UNDOCUMENTED
Only file-style variables can be used with the next() function.
E: Indexed per-atom vector in variable formula without atom map
@ -382,6 +384,7 @@ Self-explanatory.
E: Cannot open file variable file %s
UNDOCUMENTED
The specified file cannot be opened. Check that the path and name are
correct.
*/

View File

@ -1 +1 @@
#define LAMMPS_VERSION "4 Mar 2013"
#define LAMMPS_VERSION "22 Feb 2013"