From a5c6bfb1c58724f71b8325f9a670257b8a830c98 Mon Sep 17 00:00:00 2001 From: sjplimp Date: Mon, 4 Mar 2013 23:09:29 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@9566 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- src/BODY/body_nparticle.cpp | 18 ++- src/BODY/body_nparticle.h | 2 +- src/BODY/fix_nve_body.h | 4 +- src/BODY/pair_body.h | 10 +- src/CLASS2/pair_lj_class2_coul_long.h | 7 +- src/FLD/pair_brownian.h | 2 +- src/FLD/pair_brownian_poly.h | 2 +- src/FLD/pair_lubricate.h | 2 +- src/FLD/pair_lubricateU.h | 2 +- src/FLD/pair_lubricateU_poly.h | 2 +- src/FLD/pair_lubricate_poly.h | 2 +- src/GPU/pair_born_coul_long_gpu.cpp | 2 +- src/GPU/pair_born_coul_long_gpu.h | 10 +- src/GPU/pair_born_coul_wolf_gpu.cpp | 2 +- src/GPU/pair_born_coul_wolf_gpu.h | 11 +- src/GPU/pair_born_gpu.cpp | 2 +- src/GPU/pair_born_gpu.h | 7 +- src/GPU/pair_colloid_gpu.h | 4 +- src/GPU/pair_dipole_cut_gpu.h | 6 +- src/GPU/pair_gauss_gpu.cpp | 2 +- src/GPU/pair_gauss_gpu.h | 6 +- src/GPU/pair_yukawa_colloid_gpu.h | 2 +- src/GPU/pppm_gpu.cpp | 2 +- src/GPU/pppm_gpu.h | 6 +- src/KIM/pair_kim.cpp | 2 +- src/KIM/pair_kim.h | 18 +-- src/KSPACE/ewald_disp.cpp | 9 +- src/KSPACE/ewald_disp.h | 28 ++-- src/KSPACE/msm.cpp | 6 +- src/KSPACE/msm.h | 9 +- src/KSPACE/msm_cg.h | 66 --------- src/KSPACE/pair_born_coul_long.h | 7 +- src/KSPACE/pair_buck_coul_long.h | 7 +- src/KSPACE/pair_buck_long_coul_long.cpp | 17 ++- src/KSPACE/pair_buck_long_coul_long.h | 40 +++--- src/KSPACE/pair_coul_long.h | 12 +- src/KSPACE/pair_lj_charmm_coul_long.h | 7 +- src/KSPACE/pair_lj_cut_coul_long.h | 7 +- src/KSPACE/pair_lj_cut_tip4p_long.h | 7 +- src/KSPACE/pair_lj_long_coul_long.cpp | 13 +- src/KSPACE/pair_lj_long_coul_long.h | 35 ++--- src/KSPACE/pair_lj_long_tip4p_long.cpp | 12 +- src/KSPACE/pair_lj_long_tip4p_long.h | 48 +++---- src/KSPACE/pppm.cpp | 2 +- src/KSPACE/pppm.h | 35 ++--- src/KSPACE/pppm_disp.cpp | 19 ++- src/KSPACE/pppm_disp.h | 182 +++++++----------------- src/KSPACE/pppm_disp_tip4p.h | 6 +- src/MC/fix_gcmc.cpp | 57 ++++---- src/MC/fix_gcmc.h | 78 +++++----- src/MOLECULE/atom_vec_full.cpp | 4 +- src/MOLECULE/improper_hybrid.h | 4 +- src/RIGID/fix_rigid.cpp | 2 +- src/RIGID/fix_rigid.h | 6 +- src/RIGID/fix_rigid_nh.cpp | 6 +- src/RIGID/fix_rigid_nh.h | 27 ++-- src/RIGID/fix_rigid_nph.cpp | 10 +- src/RIGID/fix_rigid_nph.h | 12 +- src/RIGID/fix_rigid_npt.cpp | 12 +- src/RIGID/fix_rigid_npt.h | 20 ++- src/RIGID/fix_rigid_nvt.cpp | 8 +- src/RIGID/fix_rigid_nvt.h | 22 +-- src/RIGID/fix_rigid_small.h | 110 ++------------ src/SHOCK/fix_append_atoms.cpp | 2 +- src/SHOCK/fix_append_atoms.h | 6 +- src/SRD/fix_srd.h | 4 - src/atom_vec_body.cpp | 43 +++--- src/atom_vec_body.h | 11 +- src/body.h | 4 + src/fix_adapt.h | 4 - src/fix_balance.h | 4 - src/fix_box_relax.h | 10 +- src/fix_heat.cpp | 2 +- src/fix_heat.h | 7 +- src/fix_move.h | 6 +- src/fix_nh.cpp | 2 +- src/fix_nh.h | 2 +- src/fix_wall.h | 2 +- src/group.h | 4 +- src/input.h | 11 +- src/kspace.h | 8 +- src/lammps.h | 4 - src/library.h | 7 +- src/neigh_bond.h | 12 +- src/neighbor.h | 8 +- src/pair.h | 2 +- src/pair_coul_dsf.h | 6 +- src/pair_lj_cut_coul_dsf.h | 8 +- src/read_data.h | 9 +- src/read_dump.h | 3 +- src/region_cylinder.h | 6 +- src/region_sphere.h | 6 +- src/variable.h | 15 +- src/version.h | 2 +- 94 files changed, 482 insertions(+), 825 deletions(-) diff --git a/src/BODY/body_nparticle.cpp b/src/BODY/body_nparticle.cpp index 9869220a96..a41823bb7e 100644 --- a/src/BODY/body_nparticle.cpp +++ b/src/BODY/body_nparticle.cpp @@ -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(1,1); + dcp = new MyPool(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 diff --git a/src/BODY/body_nparticle.h b/src/BODY/body_nparticle.h index 84dec188ab..89d08c86eb 100644 --- a/src/BODY/body_nparticle.h +++ b/src/BODY/body_nparticle.h @@ -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 *); diff --git a/src/BODY/fix_nve_body.h b/src/BODY/fix_nve_body.h index b758973621..213434b608 100644 --- a/src/BODY/fix_nve_body.h +++ b/src/BODY/fix_nve_body.h @@ -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. */ diff --git a/src/BODY/pair_body.h b/src/BODY/pair_body.h index 25544c9836..80d36be0d0 100644 --- a/src/BODY/pair_body.h +++ b/src/BODY/pair_body.h @@ -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. */ diff --git a/src/CLASS2/pair_lj_class2_coul_long.h b/src/CLASS2/pair_lj_class2_coul_long.h index 870b15981a..4d4978c4df 100644 --- a/src/CLASS2/pair_lj_class2_coul_long.h +++ b/src/CLASS2/pair_lj_class2_coul_long.h @@ -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. */ diff --git a/src/FLD/pair_brownian.h b/src/FLD/pair_brownian.h index 88798d90e5..88ae714e6b 100644 --- a/src/FLD/pair_brownian.h +++ b/src/FLD/pair_brownian.h @@ -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. */ diff --git a/src/FLD/pair_brownian_poly.h b/src/FLD/pair_brownian_poly.h index 90602ac96e..bbf0c93be5 100644 --- a/src/FLD/pair_brownian_poly.h +++ b/src/FLD/pair_brownian_poly.h @@ -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. */ diff --git a/src/FLD/pair_lubricate.h b/src/FLD/pair_lubricate.h index 4e3b5b2981..e93aa55a27 100644 --- a/src/FLD/pair_lubricate.h +++ b/src/FLD/pair_lubricate.h @@ -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. */ diff --git a/src/FLD/pair_lubricateU.h b/src/FLD/pair_lubricateU.h index 77aa6bd802..1af1ec281d 100644 --- a/src/FLD/pair_lubricateU.h +++ b/src/FLD/pair_lubricateU.h @@ -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. */ diff --git a/src/FLD/pair_lubricateU_poly.h b/src/FLD/pair_lubricateU_poly.h index 10a98d4a4d..d7562993a3 100644 --- a/src/FLD/pair_lubricateU_poly.h +++ b/src/FLD/pair_lubricateU_poly.h @@ -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. */ diff --git a/src/FLD/pair_lubricate_poly.h b/src/FLD/pair_lubricate_poly.h index 83afa0493f..274852823c 100644 --- a/src/FLD/pair_lubricate_poly.h +++ b/src/FLD/pair_lubricate_poly.h @@ -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 diff --git a/src/GPU/pair_born_coul_long_gpu.cpp b/src/GPU/pair_born_coul_long_gpu.cpp index 8f08623ee2..073d25ed22 100644 --- a/src/GPU/pair_born_coul_long_gpu.cpp +++ b/src/GPU/pair_born_coul_long_gpu.cpp @@ -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_startnlocal, domain->boxlo, domain->prd); } if (!success) - error->one(FLERR,"Out of memory on GPGPU"); + error->one(FLERR,"Insufficient memory on accelerator"); if (host_startone(FLERR,"Out of memory on GPGPU"); + error->one(FLERR,"Insufficient memory on accelerator"); if (host_startnewton_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; diff --git a/src/GPU/pair_gauss_gpu.h b/src/GPU/pair_gauss_gpu.h index ba8c043501..6334ac9852 100644 --- a/src/GPU/pair_gauss_gpu.h +++ b/src/GPU/pair_gauss_gpu.h @@ -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. diff --git a/src/GPU/pair_yukawa_colloid_gpu.h b/src/GPU/pair_yukawa_colloid_gpu.h index c84bcd904f..c845a8d87d 100644 --- a/src/GPU/pair_yukawa_colloid_gpu.h +++ b/src/GPU/pair_yukawa_colloid_gpu.h @@ -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 diff --git a/src/GPU/pppm_gpu.cpp b/src/GPU/pppm_gpu.cpp index af78ea4f2a..bb475b0eb5 100644 --- a/src/GPU/pppm_gpu.cpp +++ b/src/GPU/pppm_gpu.cpp @@ -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; diff --git a/src/GPU/pppm_gpu.h b/src/GPU/pppm_gpu.h index 0ac2afe893..c6a3f45e70 100644 --- a/src/GPU/pppm_gpu.h +++ b/src/GPU/pppm_gpu.h @@ -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. - */ diff --git a/src/KIM/pair_kim.cpp b/src/KIM/pair_kim.cpp index e14c0b41e7..58c63f2dc0 100644 --- a/src/KIM/pair_kim.cpp +++ b/src/KIM/pair_kim.cpp @@ -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 diff --git a/src/KIM/pair_kim.h b/src/KIM/pair_kim.h index d2b099fb44..fcdf345004 100644 --- a/src/KIM/pair_kim.h +++ b/src/KIM/pair_kim.h @@ -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. diff --git a/src/KSPACE/ewald_disp.cpp b/src/KSPACE/ewald_disp.cpp index b5ef8a9e14..8fbc2da6f7 100644 --- a/src/KSPACE/ewald_disp.cpp +++ b/src/KSPACE/ewald_disp.cpp @@ -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]; diff --git a/src/KSPACE/ewald_disp.h b/src/KSPACE/ewald_disp.h index 0c102da5c7..b076abb163 100644 --- a/src/KSPACE/ewald_disp.h +++ b/src/KSPACE/ewald_disp.h @@ -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. */ diff --git a/src/KSPACE/msm.cpp b/src/KSPACE/msm.cpp index c8076e2a17..2c32c50dda 100644 --- a/src/KSPACE/msm.cpp +++ b/src/KSPACE/msm.cpp @@ -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) { diff --git a/src/KSPACE/msm.h b/src/KSPACE/msm.h index 63759850a5..085633d8c7 100644 --- a/src/KSPACE/msm.h +++ b/src/KSPACE/msm.h @@ -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 - */ diff --git a/src/KSPACE/msm_cg.h b/src/KSPACE/msm_cg.h index dd413a04e3..a1009ce513 100644 --- a/src/KSPACE/msm_cg.h +++ b/src/KSPACE/msm_cg.h @@ -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. - */ diff --git a/src/KSPACE/pair_born_coul_long.h b/src/KSPACE/pair_born_coul_long.h index f844ec7f97..d8071547a0 100644 --- a/src/KSPACE/pair_born_coul_long.h +++ b/src/KSPACE/pair_born_coul_long.h @@ -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. */ diff --git a/src/KSPACE/pair_buck_coul_long.h b/src/KSPACE/pair_buck_coul_long.h index da120a487f..89115da0a1 100644 --- a/src/KSPACE/pair_buck_coul_long.h +++ b/src/KSPACE/pair_buck_coul_long.h @@ -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. */ diff --git a/src/KSPACE/pair_buck_long_coul_long.cpp b/src/KSPACE/pair_buck_long_coul_long.cpp index 23b834ce2d..b7435dcc63 100644 --- a/src/KSPACE/pair_buck_long_coul_long.cpp +++ b/src/KSPACE/pair_buck_long_coul_long.cpp @@ -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<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 diff --git a/src/KSPACE/pair_buck_long_coul_long.h b/src/KSPACE/pair_buck_long_coul_long.h index b421a924c8..8d29c2513a 100644 --- a/src/KSPACE/pair_buck_long_coul_long.h +++ b/src/KSPACE/pair_buck_long_coul_long.h @@ -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. */ diff --git a/src/KSPACE/pair_coul_long.h b/src/KSPACE/pair_coul_long.h index 766438b2b7..49ddb3a983 100644 --- a/src/KSPACE/pair_coul_long.h +++ b/src/KSPACE/pair_coul_long.h @@ -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. */ diff --git a/src/KSPACE/pair_lj_charmm_coul_long.h b/src/KSPACE/pair_lj_charmm_coul_long.h index cf4e50d512..2f4f0c55b7 100644 --- a/src/KSPACE/pair_lj_charmm_coul_long.h +++ b/src/KSPACE/pair_lj_charmm_coul_long.h @@ -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. */ diff --git a/src/KSPACE/pair_lj_cut_coul_long.h b/src/KSPACE/pair_lj_cut_coul_long.h index 87b8099177..9676b52d15 100644 --- a/src/KSPACE/pair_lj_cut_coul_long.h +++ b/src/KSPACE/pair_lj_cut_coul_long.h @@ -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. - */ diff --git a/src/KSPACE/pair_lj_cut_tip4p_long.h b/src/KSPACE/pair_lj_cut_tip4p_long.h index 5bb35d71ae..5d0bfed4eb 100644 --- a/src/KSPACE/pair_lj_cut_tip4p_long.h +++ b/src/KSPACE/pair_lj_cut_tip4p_long.h @@ -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. - */ diff --git a/src/KSPACE/pair_lj_long_coul_long.cpp b/src/KSPACE/pair_lj_long_coul_long.cpp index 557c3c563c..87f56fbc76 100644 --- a/src/KSPACE/pair_lj_long_coul_long.cpp +++ b/src/KSPACE/pair_lj_long_coul_long.cpp @@ -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 diff --git a/src/KSPACE/pair_lj_long_coul_long.h b/src/KSPACE/pair_lj_long_coul_long.h index 9041bb8d5b..e2a34bab5b 100644 --- a/src/KSPACE/pair_lj_long_coul_long.h +++ b/src/KSPACE/pair_lj_long_coul_long.h @@ -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. */ diff --git a/src/KSPACE/pair_lj_long_tip4p_long.cpp b/src/KSPACE/pair_lj_long_tip4p_long.cpp index 0b55782e9f..1558fab408 100755 --- a/src/KSPACE/pair_lj_long_tip4p_long.cpp +++ b/src/KSPACE/pair_lj_long_tip4p_long.cpp @@ -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; diff --git a/src/KSPACE/pair_lj_long_tip4p_long.h b/src/KSPACE/pair_lj_long_tip4p_long.h index a1785fbf21..541ab5c9ad 100755 --- a/src/KSPACE/pair_lj_long_tip4p_long.h +++ b/src/KSPACE/pair_lj_long_tip4p_long.h @@ -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. */ diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index 772013af0a..0ccff8c1be 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -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; } diff --git a/src/KSPACE/pppm.h b/src/KSPACE/pppm.h index 96aa00e4d7..f60159d6d5 100644 --- a/src/KSPACE/pppm.h +++ b/src/KSPACE/pppm.h @@ -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. - */ diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index 25a447ccbf..e315147885 100755 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -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; } diff --git a/src/KSPACE/pppm_disp.h b/src/KSPACE/pppm_disp.h index f68f4bd718..89437a1093 100755 --- a/src/KSPACE/pppm_disp.h +++ b/src/KSPACE/pppm_disp.h @@ -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 diff --git a/src/KSPACE/pppm_disp_tip4p.h b/src/KSPACE/pppm_disp_tip4p.h index 9acdfb0020..d08b82b0e6 100755 --- a/src/KSPACE/pppm_disp_tip4p.h +++ b/src/KSPACE/pppm_disp_tip4p.h @@ -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 - */ diff --git a/src/MC/fix_gcmc.cpp b/src/MC/fix_gcmc.cpp index 31d7278f88..c6184b79f8 100644 --- a/src/MC/fix_gcmc.cpp +++ b/src/MC/fix_gcmc.cpp @@ -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 diff --git a/src/MC/fix_gcmc.h b/src/MC/fix_gcmc.h index 2e9b147a29..5e61c517e7 100644 --- a/src/MC/fix_gcmc.h +++ b/src/MC/fix_gcmc.h @@ -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. - - */ diff --git a/src/MOLECULE/atom_vec_full.cpp b/src/MOLECULE/atom_vec_full.cpp index dbda299f7a..f48c08121c 100644 --- a/src/MOLECULE/atom_vec_full.cpp +++ b/src/MOLECULE/atom_vec_full.cpp @@ -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; diff --git a/src/MOLECULE/improper_hybrid.h b/src/MOLECULE/improper_hybrid.h index f89b19e8fe..aff04e09f6 100644 --- a/src/MOLECULE/improper_hybrid.h +++ b/src/MOLECULE/improper_hybrid.h @@ -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 diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 1b696d45b9..e7e6c83361 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -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; diff --git a/src/RIGID/fix_rigid.h b/src/RIGID/fix_rigid.h index 2ebcce4839..6082cbce01 100644 --- a/src/RIGID/fix_rigid.h +++ b/src/RIGID/fix_rigid.h @@ -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 diff --git a/src/RIGID/fix_rigid_nh.cpp b/src/RIGID/fix_rigid_nh.cpp index 8be15b3edb..6bcabe2a7b 100644 --- a/src/RIGID/fix_rigid_nh.cpp +++ b/src/RIGID/fix_rigid_nh.cpp @@ -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 diff --git a/src/RIGID/fix_rigid_nh.h b/src/RIGID/fix_rigid_nh.h index f19efc65f5..f62f2d889a 100644 --- a/src/RIGID/fix_rigid_nh.h +++ b/src/RIGID/fix_rigid_nh.h @@ -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. - */ diff --git a/src/RIGID/fix_rigid_nph.cpp b/src/RIGID/fix_rigid_nph.cpp index 49be257e05..3c9328ea3f 100644 --- a/src/RIGID/fix_rigid_nph.cpp +++ b/src/RIGID/fix_rigid_nph.cpp @@ -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]; diff --git a/src/RIGID/fix_rigid_nph.h b/src/RIGID/fix_rigid_nph.h index 49e9ab97a3..70208d959c 100644 --- a/src/RIGID/fix_rigid_nph.h +++ b/src/RIGID/fix_rigid_nph.h @@ -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. */ diff --git a/src/RIGID/fix_rigid_npt.cpp b/src/RIGID/fix_rigid_npt.cpp index 235faaba51..8a600c367a 100644 --- a/src/RIGID/fix_rigid_npt.cpp +++ b/src/RIGID/fix_rigid_npt.cpp @@ -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 diff --git a/src/RIGID/fix_rigid_npt.h b/src/RIGID/fix_rigid_npt.h index f729552486..e36d5375cd 100644 --- a/src/RIGID/fix_rigid_npt.h +++ b/src/RIGID/fix_rigid_npt.h @@ -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. */ diff --git a/src/RIGID/fix_rigid_nvt.cpp b/src/RIGID/fix_rigid_nvt.cpp index abf681d905..0f5593777c 100644 --- a/src/RIGID/fix_rigid_nvt.cpp +++ b/src/RIGID/fix_rigid_nvt.cpp @@ -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"); } diff --git a/src/RIGID/fix_rigid_nvt.h b/src/RIGID/fix_rigid_nvt.h index 7248cf96d1..0a0b8b151e 100644 --- a/src/RIGID/fix_rigid_nvt.h +++ b/src/RIGID/fix_rigid_nvt.h @@ -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. */ diff --git a/src/RIGID/fix_rigid_small.h b/src/RIGID/fix_rigid_small.h index 866aa113b3..8eca0e8d5e 100644 --- a/src/RIGID/fix_rigid_small.h +++ b/src/RIGID/fix_rigid_small.h @@ -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. */ diff --git a/src/SHOCK/fix_append_atoms.cpp b/src/SHOCK/fix_append_atoms.cpp index 9b2f92b9f6..7fe1d4a38d 100644 --- a/src/SHOCK/fix_append_atoms.cpp +++ b/src/SHOCK/fix_append_atoms.cpp @@ -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) diff --git a/src/SHOCK/fix_append_atoms.h b/src/SHOCK/fix_append_atoms.h index 7f66703503..043f5d1c1d 100644 --- a/src/SHOCK/fix_append_atoms.h +++ b/src/SHOCK/fix_append_atoms.h @@ -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 diff --git a/src/SRD/fix_srd.h b/src/SRD/fix_srd.h index 4498a49964..93faa4ba15 100644 --- a/src/SRD/fix_srd.h +++ b/src/SRD/fix_srd.h @@ -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. diff --git a/src/atom_vec_body.cpp b/src/atom_vec_body.cpp index 65711cf15d..1809b21e1c 100644 --- a/src/atom_vec_body.cpp +++ b/src/atom_vec_body.cpp @@ -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 (buf[m++]); bonus[j].ndouble = static_cast (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 (buf[m++]); bonus[j].ndouble = static_cast (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 (buf[m++]); bonus[j].ndouble = static_cast (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 (buf[m++]); bonus[nlocal_bonus].ndouble = static_cast (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 (buf[m++]); bonus[nlocal_bonus].ndouble = static_cast (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++) { diff --git a/src/atom_vec_body.h b/src/atom_vec_body.h index 7bc8201be7..34ed5b3c90 100644 --- a/src/atom_vec_body.h +++ b/src/atom_vec_body.h @@ -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 *icp; + MyPool *dcp; + void grow_bonus(); void copy_bonus(int, int); //void check(int); diff --git a/src/body.h b/src/body.h index 644b3e1e91..9bf9270aa4 100644 --- a/src/body.h +++ b/src/body.h @@ -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 *icp; + MyPool *dcp; + char *style; int size_forward; // max extra values packed for comm int size_border; // max extra values packed for border comm diff --git a/src/fix_adapt.h b/src/fix_adapt.h index f813e38457..88d94d169a 100644 --- a/src/fix_adapt.h +++ b/src/fix_adapt.h @@ -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. */ diff --git a/src/fix_balance.h b/src/fix_balance.h index a1e52ef32e..0f3202c9b3 100644 --- a/src/fix_balance.h +++ b/src/fix_balance.h @@ -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. - */ diff --git a/src/fix_box_relax.h b/src/fix_box_relax.h index 278c5eea3e..e29889df0f 100644 --- a/src/fix_box_relax.h +++ b/src/fix_box_relax.h @@ -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. - */ diff --git a/src/fix_heat.cpp b/src/fix_heat.cpp index 9449669d83..50b7a7ab81 100644 --- a/src/fix_heat.cpp +++ b/src/fix_heat.cpp @@ -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"); } diff --git a/src/fix_heat.h b/src/fix_heat.h index 42db8e4042..d55b26bf4d 100644 --- a/src/fix_heat.h +++ b/src/fix_heat.h @@ -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. */ diff --git a/src/fix_move.h b/src/fix_move.h index 80257c3aa4..cb3dfc13fd 100644 --- a/src/fix_move.h +++ b/src/fix_move.h @@ -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. - */ diff --git a/src/fix_nh.cpp b/src/fix_nh.cpp index a97026e778..72c8a897e5 100644 --- a/src/fix_nh.cpp +++ b/src/fix_nh.cpp @@ -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; diff --git a/src/fix_nh.h b/src/fix_nh.h index 80a71b8843..e32d9c2669 100644 --- a/src/fix_nh.h +++ b/src/fix_nh.h @@ -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. diff --git a/src/fix_wall.h b/src/fix_wall.h index 2eced3a007..c5b610e38d 100644 --- a/src/fix_wall.h +++ b/src/fix_wall.h @@ -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. */ diff --git a/src/group.h b/src/group.h index a5b4a954ef..31a27932de 100644 --- a/src/group.h +++ b/src/group.h @@ -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 diff --git a/src/input.h b/src/input.h index d218b902cf..48bd5114cd 100644 --- a/src/input.h +++ b/src/input.h @@ -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. - */ diff --git a/src/kspace.h b/src/kspace.h index dc2d847717..c8662b53de 100644 --- a/src/kspace.h +++ b/src/kspace.h @@ -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' diff --git a/src/lammps.h b/src/lammps.h index 18cc21f5da..0feb015b31 100644 --- a/src/lammps.h +++ b/src/lammps.h @@ -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. - */ diff --git a/src/library.h b/src/library.h index f0666b3547..f78c68a3c5 100644 --- a/src/library.h +++ b/src/library.h @@ -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. */ diff --git a/src/neigh_bond.h b/src/neigh_bond.h index eddd57bc54..ee752038c3 100644 --- a/src/neigh_bond.h +++ b/src/neigh_bond.h @@ -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 diff --git a/src/neighbor.h b/src/neighbor.h index d53d806669..2c58eb18d5 100644 --- a/src/neighbor.h +++ b/src/neighbor.h @@ -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 diff --git a/src/pair.h b/src/pair.h index 8d85a0e944..3200f9f751 100644 --- a/src/pair.h +++ b/src/pair.h @@ -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 diff --git a/src/pair_coul_dsf.h b/src/pair_coul_dsf.h index 6fb5449374..69825c16b1 100644 --- a/src/pair_coul_dsf.h +++ b/src/pair_coul_dsf.h @@ -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 diff --git a/src/pair_lj_cut_coul_dsf.h b/src/pair_lj_cut_coul_dsf.h index 9e59b54008..9a0fa49d4e 100644 --- a/src/pair_lj_cut_coul_dsf.h +++ b/src/pair_lj_cut_coul_dsf.h @@ -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. */ diff --git a/src/read_data.h b/src/read_data.h index 868193b6ce..4788cdacf7 100644 --- a/src/read_data.h +++ b/src/read_data.h @@ -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 diff --git a/src/read_dump.h b/src/read_dump.h index aa5ad9692c..66d78b93d3 100644 --- a/src/read_dump.h +++ b/src/read_dump.h @@ -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 diff --git a/src/region_cylinder.h b/src/region_cylinder.h index 8936fe1dec..67dcfc3a90 100644 --- a/src/region_cylinder.h +++ b/src/region_cylinder.h @@ -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. */ diff --git a/src/region_sphere.h b/src/region_sphere.h index 27ebfb8517..a9a6accafc 100644 --- a/src/region_sphere.h +++ b/src/region_sphere.h @@ -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. */ diff --git a/src/variable.h b/src/variable.h index 1d7ff83952..10ae12827f 100644 --- a/src/variable.h +++ b/src/variable.h @@ -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. */ diff --git a/src/version.h b/src/version.h index 6fbb01b357..4d1a9801bd 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "4 Mar 2013" +#define LAMMPS_VERSION "22 Feb 2013"