git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@9566 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
@ -16,7 +16,6 @@
|
||||
#include "math_extra.h"
|
||||
#include "atom_vec_body.h"
|
||||
#include "atom.h"
|
||||
#include "memory.h"
|
||||
#include "error.h"
|
||||
|
||||
using namespace LAMMPS_NS;
|
||||
@ -37,6 +36,19 @@ BodyNparticle::BodyNparticle(LAMMPS *lmp, int narg, char **arg) :
|
||||
|
||||
size_forward = 0;
|
||||
size_border = 1 + 3*nmax;
|
||||
|
||||
// NOTE: need to set appropriate nnbin param for dcp
|
||||
|
||||
icp = new MyPool<int>(1,1);
|
||||
dcp = new MyPool<double>(3*nmin,3*nmax);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
||||
BodyNparticle::~BodyNparticle()
|
||||
{
|
||||
delete icp;
|
||||
delete dcp;
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
@ -105,10 +117,10 @@ void BodyNparticle::data_body(int ibonus, int ninteger, int ndouble,
|
||||
"Bodies section of data file");
|
||||
|
||||
bonus->ninteger = 1;
|
||||
memory->create(bonus->ivalue,bonus->ninteger,"body:ivalue");
|
||||
bonus->ivalue = icp->get(bonus->iindex);
|
||||
bonus->ivalue[0] = nsub;
|
||||
bonus->ndouble = 3*nsub;
|
||||
memory->create(bonus->dvalue,3*nsub,"body:dvalue");
|
||||
bonus->dvalue = dcp->get(bonus->ndouble,bonus->dindex);
|
||||
|
||||
// diagonalize inertia tensor
|
||||
|
||||
|
||||
@ -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 *);
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -129,7 +129,7 @@ void PairBornCoulLongGPU::compute(int eflag, int vflag)
|
||||
atom->nlocal, domain->boxlo, domain->prd);
|
||||
}
|
||||
if (!success)
|
||||
error->one(FLERR,"Out of memory on GPGPU");
|
||||
error->one(FLERR,"Insufficient memory on accelerator");
|
||||
|
||||
if (host_start<inum) {
|
||||
cpu_time = MPI_Wtime();
|
||||
|
||||
@ -47,9 +47,10 @@ class PairBornCoulLongGPU : public PairBornCoulLong {
|
||||
|
||||
/* ERROR/WARNING messages:
|
||||
|
||||
E: Out of memory on GPGPU
|
||||
E: Insufficient memory on accelerator
|
||||
|
||||
UNDOCUMENTED
|
||||
There is insufficient memory on one of the devices specified for the gpu
|
||||
package
|
||||
|
||||
E: Pair style born/coul/long/gpu requires atom attribute q
|
||||
|
||||
@ -57,10 +58,11 @@ The atom style defined does not have this attribute.
|
||||
|
||||
E: Cannot use newton pair with born/coul/long/gpu pair style
|
||||
|
||||
UNDOCUMENTED
|
||||
Self-explanatory.
|
||||
|
||||
E: Pair style is incompatible with KSpace style
|
||||
|
||||
UNDOCUMENTED
|
||||
If a pair style with a long-range Coulombic component is selected,
|
||||
then a kspace style must also be used.
|
||||
|
||||
*/
|
||||
|
||||
@ -120,7 +120,7 @@ void PairBornCoulWolfGPU::compute(int eflag, int vflag)
|
||||
atom->nlocal, domain->boxlo, domain->prd);
|
||||
}
|
||||
if (!success)
|
||||
error->one(FLERR,"Out of memory on GPGPU");
|
||||
error->one(FLERR,"Insufficient memory on accelerator");
|
||||
|
||||
if (host_start<inum) {
|
||||
cpu_time = MPI_Wtime();
|
||||
|
||||
@ -47,16 +47,13 @@ class PairBornCoulWolfGPU : public PairBornCoulWolf {
|
||||
|
||||
/* ERROR/WARNING messages:
|
||||
|
||||
E: Out of memory on GPGPU
|
||||
E: Insufficient memory on accelerator
|
||||
|
||||
UNDOCUMENTED
|
||||
There is insufficient memory on one of the devices specified for the gpu
|
||||
package
|
||||
|
||||
E: Cannot use newton pair with born/coul/wolf/gpu pair style
|
||||
|
||||
UNDOCUMENTED
|
||||
|
||||
U: Pair style born/coul/wolf/gpu requires atom attribute q
|
||||
|
||||
The atom style defined does not have this attribute.
|
||||
Self-explanatory.
|
||||
|
||||
*/
|
||||
|
||||
@ -110,7 +110,7 @@ void PairBornGPU::compute(int eflag, int vflag)
|
||||
vflag_atom, host_start, cpu_time, success);
|
||||
}
|
||||
if (!success)
|
||||
error->one(FLERR,"Out of memory on GPGPU");
|
||||
error->one(FLERR,"Insufficient memory on accelerator");
|
||||
|
||||
if (host_start<inum) {
|
||||
cpu_time = MPI_Wtime();
|
||||
|
||||
@ -47,12 +47,13 @@ class PairBornGPU : public PairBorn {
|
||||
|
||||
/* ERROR/WARNING messages:
|
||||
|
||||
E: Out of memory on GPGPU
|
||||
E: Insufficient memory on accelerator
|
||||
|
||||
UNDOCUMENTED
|
||||
There is insufficient memory on one of the devices specified for the gpu
|
||||
package
|
||||
|
||||
E: Cannot use newton pair with born/gpu pair style
|
||||
|
||||
UNDOCUMENTED
|
||||
Self-explantory.
|
||||
|
||||
*/
|
||||
|
||||
@ -58,10 +58,10 @@ Self-explanatory.
|
||||
|
||||
E: Overlapping small/large in pair colloid
|
||||
|
||||
UNDOCUMENTED
|
||||
This potential is infinite when there is an overlap.
|
||||
|
||||
E: Overlapping large/large in pair colloid
|
||||
|
||||
UNDOCUMENTED
|
||||
This potential is infinite when there is an overlap.
|
||||
|
||||
*/
|
||||
|
||||
@ -54,14 +54,10 @@ package
|
||||
|
||||
E: Pair dipole/cut/gpu requires atom attributes q, mu, torque
|
||||
|
||||
UNDOCUMENTED
|
||||
The atom style defined does not have this attribute.
|
||||
|
||||
E: Cannot use newton pair with dipole/cut/gpu pair style
|
||||
|
||||
Self-explanatory.
|
||||
|
||||
U: Pair style dipole/cut/gpu requires atom attribute q
|
||||
|
||||
The atom style defined does not have this attribute.
|
||||
|
||||
*/
|
||||
|
||||
@ -123,7 +123,7 @@ void PairGaussGPU::compute(int eflag, int vflag)
|
||||
void PairGaussGPU::init_style()
|
||||
{
|
||||
if (force->newton_pair)
|
||||
error->all(FLERR,"Cannot use newton pair with lj/cut/gpu pair style");
|
||||
error->all(FLERR,"Cannot use newton pair with gauss/gpu pair style");
|
||||
|
||||
// Repeat cutsq calculation because done after call to init_style
|
||||
double maxcut = -1.0;
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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];
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -62,10 +62,10 @@ void PairBuckLongCoulLong::options(char **arg, int order)
|
||||
const char *option[] = {"long", "cut", "off", NULL};
|
||||
int i;
|
||||
|
||||
if (!*arg) error->all(FLERR,"Illegal pair_style buck/coul command");
|
||||
if (!*arg) error->all(FLERR,"Illegal pair_style buck/long/coul/long command");
|
||||
for (i=0; option[i]&&strcmp(arg[0], option[i]); ++i);
|
||||
switch (i) {
|
||||
default: error->all(FLERR,"Illegal pair_style buck/coul command");
|
||||
default: error->all(FLERR,"Illegal pair_style buck/long/coul/long command");
|
||||
case 0: ewald_order |= 1<<order; break;
|
||||
case 2: ewald_off |= 1<<order;
|
||||
case 1: break;
|
||||
@ -87,15 +87,15 @@ void PairBuckLongCoulLong::settings(int narg, char **arg)
|
||||
if (!comm->me && ewald_order & (1<<6))
|
||||
error->warning(FLERR,"Geometric mixing assumed for 1/r^6 coefficients");
|
||||
if (!comm->me && ewald_order == ((1<<1) | (1<<6)))
|
||||
error->warning(FLERR,"Using largest cut-off for buck/coul long long");
|
||||
if (!*(++arg)) error->all(FLERR,"Cut-offs missing in pair_style buck/coul");
|
||||
error->warning(FLERR,"Using largest cutoff for buck/long/coul/long");
|
||||
if (!*(++arg)) error->all(FLERR,"Cutoffs missing in pair_style buck/long/coul/long");
|
||||
if (ewald_off & (1<<6))
|
||||
error->all(FLERR,"LJ6 off not supported in pair_style buck/coul");
|
||||
error->all(FLERR,"LJ6 off not supported in pair_style buck/long/coul/long");
|
||||
if (!((ewald_order^ewald_off) & (1<<1)))
|
||||
error->all(FLERR,"Coulombic cut not supported in pair_style buck/coul");
|
||||
error->all(FLERR,"Coulomb cut not supported in pair_style buck/long/coul/coul");
|
||||
cut_buck_global = force->numeric(*(arg++));
|
||||
if (*arg && ((ewald_order & 0x42) == 0x42))
|
||||
error->all(FLERR,"Only one cut-off allowed when requesting all long");
|
||||
error->all(FLERR,"Only one cutoff allowed when requesting all long");
|
||||
if (narg == 4) cut_coul = force->numeric(*arg);
|
||||
else cut_coul = cut_buck_global;
|
||||
|
||||
@ -229,8 +229,7 @@ void PairBuckLongCoulLong::init_style()
|
||||
// require an atom style with charge defined
|
||||
|
||||
if (!atom->q_flag && (ewald_order&(1<<1)))
|
||||
error->all(FLERR,
|
||||
"Invoking coulombic in pair style lj/coul requires atom attribute q");
|
||||
error->all(FLERR,"Pair style buck/long/coul/long requires atom attribute q");
|
||||
|
||||
// request regular or rRESPA neighbor lists
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
*/
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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];
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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");
|
||||
}
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -72,8 +72,8 @@ AtomVecBody::~AtomVecBody()
|
||||
{
|
||||
int nall = nlocal_bonus + nghost_bonus;
|
||||
for (int i = 0; i < nall; i++) {
|
||||
memory->destroy(bonus[i].ivalue);
|
||||
memory->destroy(bonus[i].dvalue);
|
||||
icp->put(bonus[i].iindex);
|
||||
dcp->put(bonus[i].dindex);
|
||||
}
|
||||
memory->sfree(bonus);
|
||||
|
||||
@ -105,6 +105,8 @@ void AtomVecBody::settings(int narg, char **arg)
|
||||
else error->all(FLERR,"Invalid body style");
|
||||
|
||||
bptr->avec = this;
|
||||
icp = bptr->icp;
|
||||
dcp = bptr->dcp;
|
||||
|
||||
// max size of forward/border comm
|
||||
// 7,16 are packed in pack_comm/pack_border
|
||||
@ -212,8 +214,8 @@ void AtomVecBody::copy(int i, int j, int delflag)
|
||||
// if deleting atom J via delflag and J has bonus data, then delete it
|
||||
|
||||
if (delflag && body[j] >= 0) {
|
||||
memory->destroy(bonus[body[j]].ivalue);
|
||||
memory->destroy(bonus[body[j]].dvalue);
|
||||
icp->put(bonus[body[j]].iindex);
|
||||
dcp->put(bonus[body[j]].dindex);
|
||||
copy_bonus(nlocal_bonus-1,body[j]);
|
||||
nlocal_bonus--;
|
||||
}
|
||||
@ -249,8 +251,8 @@ void AtomVecBody::clear_bonus()
|
||||
{
|
||||
int nall = nlocal_bonus + nghost_bonus;
|
||||
for (int i = nlocal_bonus; i < nall; i++) {
|
||||
memory->destroy(bonus[i].ivalue);
|
||||
memory->destroy(bonus[i].dvalue);
|
||||
icp->put(bonus[i].iindex);
|
||||
dcp->put(bonus[i].dindex);
|
||||
}
|
||||
nghost_bonus = 0;
|
||||
}
|
||||
@ -841,8 +843,8 @@ void AtomVecBody::unpack_border(int n, int first, double *buf)
|
||||
inertia[2] = buf[m++];
|
||||
bonus[j].ninteger = static_cast<int> (buf[m++]);
|
||||
bonus[j].ndouble = static_cast<int> (buf[m++]);
|
||||
memory->create(bonus[j].ivalue,bonus[j].ninteger,"body:ivalue");
|
||||
memory->create(bonus[j].dvalue,bonus[j].ndouble,"body:dvalue");
|
||||
bonus[j].ivalue = icp->get(bonus[j].ninteger,bonus[j].iindex);
|
||||
bonus[j].dvalue = dcp->get(bonus[j].ndouble,bonus[j].dindex);
|
||||
m += bptr->unpack_border_body(&bonus[j],&buf[m]);
|
||||
bonus[j].ilocal = i;
|
||||
body[i] = j;
|
||||
@ -884,8 +886,8 @@ void AtomVecBody::unpack_border_vel(int n, int first, double *buf)
|
||||
inertia[2] = buf[m++];
|
||||
bonus[j].ninteger = static_cast<int> (buf[m++]);
|
||||
bonus[j].ndouble = static_cast<int> (buf[m++]);
|
||||
memory->create(bonus[j].ivalue,bonus[j].ninteger,"body:ivalue");
|
||||
memory->create(bonus[j].dvalue,bonus[j].ndouble,"body:dvalue");
|
||||
bonus[j].ivalue = icp->get(bonus[j].ninteger,bonus[j].iindex);
|
||||
bonus[j].dvalue = dcp->get(bonus[j].ndouble,bonus[j].dindex);
|
||||
m += bptr->unpack_border_body(&bonus[j],&buf[m]);
|
||||
bonus[j].ilocal = i;
|
||||
body[i] = j;
|
||||
@ -926,8 +928,8 @@ int AtomVecBody::unpack_border_hybrid(int n, int first, double *buf)
|
||||
inertia[2] = buf[m++];
|
||||
bonus[j].ninteger = static_cast<int> (buf[m++]);
|
||||
bonus[j].ndouble = static_cast<int> (buf[m++]);
|
||||
memory->create(bonus[j].ivalue,bonus[j].ninteger,"body:ivalue");
|
||||
memory->create(bonus[j].dvalue,bonus[j].ndouble,"body:dvalue");
|
||||
bonus[j].ivalue = icp->get(bonus[j].ninteger,bonus[j].iindex);
|
||||
bonus[j].dvalue = dcp->get(bonus[j].ndouble,bonus[j].dindex);
|
||||
m += bptr->unpack_border_body(&bonus[j],&buf[m]);
|
||||
bonus[j].ilocal = i;
|
||||
body[i] = j;
|
||||
@ -1030,10 +1032,10 @@ int AtomVecBody::unpack_exchange(double *buf)
|
||||
inertia[2] = buf[m++];
|
||||
bonus[nlocal_bonus].ninteger = static_cast<int> (buf[m++]);
|
||||
bonus[nlocal_bonus].ndouble = static_cast<int> (buf[m++]);
|
||||
memory->create(bonus[nlocal_bonus].ivalue,bonus[nlocal_bonus].ninteger,
|
||||
"body:ivalue");
|
||||
memory->create(bonus[nlocal_bonus].dvalue,bonus[nlocal_bonus].ndouble,
|
||||
"body:dvalue");
|
||||
bonus[nlocal_bonus].ivalue = icp->get(bonus[nlocal_bonus].ninteger,
|
||||
bonus[nlocal_bonus].iindex);
|
||||
bonus[nlocal_bonus].dvalue = dcp->get(bonus[nlocal_bonus].ndouble,
|
||||
bonus[nlocal_bonus].dindex);
|
||||
memcpy(bonus[nlocal_bonus].ivalue,&buf[m],
|
||||
bonus[nlocal_bonus].ninteger*sizeof(int));
|
||||
if (intdoubleratio == 1) m += bonus[nlocal_bonus].ninteger;
|
||||
@ -1182,10 +1184,10 @@ int AtomVecBody::unpack_restart(double *buf)
|
||||
inertia[2] = buf[m++];
|
||||
bonus[nlocal_bonus].ninteger = static_cast<int> (buf[m++]);
|
||||
bonus[nlocal_bonus].ndouble = static_cast<int> (buf[m++]);
|
||||
memory->create(bonus[nlocal_bonus].ivalue,bonus[nlocal_bonus].ninteger,
|
||||
"body:ivalue");
|
||||
memory->create(bonus[nlocal_bonus].dvalue,bonus[nlocal_bonus].ndouble,
|
||||
"body:dvalue");
|
||||
bonus[nlocal_bonus].ivalue = icp->get(bonus[nlocal_bonus].ninteger,
|
||||
bonus[nlocal_bonus].iindex);
|
||||
bonus[nlocal_bonus].dvalue = dcp->get(bonus[nlocal_bonus].ndouble,
|
||||
bonus[nlocal_bonus].dindex);
|
||||
memcpy(bonus[nlocal_bonus].ivalue,&buf[m],
|
||||
bonus[nlocal_bonus].ninteger*sizeof(int));
|
||||
if (intdoubleratio == 1) m += bonus[nlocal_bonus].ninteger;
|
||||
@ -1399,6 +1401,7 @@ bigint AtomVecBody::memory_usage()
|
||||
if (atom->memcheck("body")) bytes += memory->usage(body,nmax);
|
||||
|
||||
bytes += nmax_bonus*sizeof(Bonus);
|
||||
bytes += icp->size + dcp->size;
|
||||
|
||||
int nall = nlocal_bonus + nghost_bonus;
|
||||
for (int i = 0; i < nall; i++) {
|
||||
|
||||
@ -21,16 +21,11 @@ AtomStyle(body,AtomVecBody)
|
||||
#define LMP_ATOM_VEC_BODY_H
|
||||
|
||||
#include "atom_vec.h"
|
||||
#include "my_pool.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class AtomVecBody : public AtomVec {
|
||||
friend class Comm;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public:
|
||||
class Body *bptr;
|
||||
|
||||
@ -38,6 +33,7 @@ class AtomVecBody : public AtomVec {
|
||||
double quat[4];
|
||||
double inertia[3];
|
||||
int ninteger,ndouble;
|
||||
int iindex,dindex;
|
||||
int *ivalue;
|
||||
double *dvalue;
|
||||
int ilocal;
|
||||
@ -100,6 +96,9 @@ class AtomVecBody : public AtomVec {
|
||||
int copyflag;
|
||||
int intdoubleratio; // sizeof(double) / sizeof(int)
|
||||
|
||||
MyPool<int> *icp;
|
||||
MyPool<double> *dcp;
|
||||
|
||||
void grow_bonus();
|
||||
void copy_bonus(int, int);
|
||||
//void check(int);
|
||||
|
||||
@ -16,11 +16,15 @@
|
||||
|
||||
#include "pointers.h"
|
||||
#include "atom_vec_body.h"
|
||||
#include "my_pool.h"
|
||||
|
||||
namespace LAMMPS_NS {
|
||||
|
||||
class Body : protected Pointers {
|
||||
public:
|
||||
MyPool<int> *icp;
|
||||
MyPool<double> *dcp;
|
||||
|
||||
char *style;
|
||||
int size_forward; // max extra values packed for comm
|
||||
int size_border; // max extra values packed for border comm
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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");
|
||||
}
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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.
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
11
src/input.h
11
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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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'
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -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.
|
||||
|
||||
*/
|
||||
|
||||
@ -1 +1 @@
|
||||
#define LAMMPS_VERSION "4 Mar 2013"
|
||||
#define LAMMPS_VERSION "22 Feb 2013"
|
||||
|
||||
Reference in New Issue
Block a user