diff --git a/src/ASPHERE/compute_erotate_asphere.h b/src/ASPHERE/compute_erotate_asphere.h index 9318c4632..be1c53492 100644 --- a/src/ASPHERE/compute_erotate_asphere.h +++ b/src/ASPHERE/compute_erotate_asphere.h @@ -1,61 +1,61 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(erotate/asphere,ComputeERotateAsphere) #else #ifndef LMP_COMPUTE_EROTATE_ASPHERE_H #define LMP_COMPUTE_EROTATE_ASPHERE_H #include "compute.h" namespace LAMMPS_NS { class ComputeERotateAsphere : public Compute { public: ComputeERotateAsphere(class LAMMPS *, int, char **); void init(); double compute_scalar(); private: double pfactor; class AtomVecEllipsoid *avec_ellipsoid; class AtomVecLine *avec_line; class AtomVecTri *avec_tri; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute erotate/asphere requires atom style ellipsoid or line or tri Self-explanatory. E: Compute erotate/asphere requires extended particles This compute cannot be used with point paritlces. */ diff --git a/src/ASPHERE/compute_temp_asphere.h b/src/ASPHERE/compute_temp_asphere.h index 4edfee325..2295d81d1 100755 --- a/src/ASPHERE/compute_temp_asphere.h +++ b/src/ASPHERE/compute_temp_asphere.h @@ -1,87 +1,87 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(temp/asphere,ComputeTempAsphere) #else #ifndef LMP_COMPUTE_TEMP_ASPHERE_H #define LMP_COMPUTE_TEMP_ASPHERE_H #include "compute.h" namespace LAMMPS_NS { class ComputeTempAsphere : public Compute { public: ComputeTempAsphere(class LAMMPS *, int, char **); ~ComputeTempAsphere(); void init(); void setup(); double compute_scalar(); void compute_vector(); void remove_bias(int, double *); void restore_bias(int, double *); private: int mode; double tfactor; char *id_bias; class Compute *tbias; // ptr to additional bias compute class AtomVecEllipsoid *avec; void dof_compute(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute temp/asphere requires atom style ellipsoid Self-explanatory. E: Compute temp/asphere requires extended particles This compute cannot be used with point paritlces. E: Could not find compute ID for temperature bias Self-explanatory. E: Bias compute does not calculate temperature The specified compute must compute temperature. E: Bias compute does not calculate a velocity bias The specified compute must compute a bias for temperature. E: Bias compute group does not match compute group The specified compute must operate on the same group as the parent compute. */ diff --git a/src/ASPHERE/fix_nh_asphere.h b/src/ASPHERE/fix_nh_asphere.h index 8f01b2538..a5d8c3da6 100644 --- a/src/ASPHERE/fix_nh_asphere.h +++ b/src/ASPHERE/fix_nh_asphere.h @@ -1,51 +1,51 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_FIX_NH_ASPHERE_H #define LMP_FIX_NH_ASPHERE_H #include "fix_nh.h" namespace LAMMPS_NS { class FixNHAsphere : public FixNH { public: FixNHAsphere(class LAMMPS *, int, char **); virtual ~FixNHAsphere() {} void init(); protected: double dtq; class AtomVecEllipsoid *avec; void nve_v(); void nve_x(); void nh_v_temp(); }; } #endif /* ERROR/WARNING messages: E: Compute nvt/nph/npt asphere requires atom style ellipsoid Self-explanatory. E: Fix nvt/nph/npt asphere requires extended particles The shape setting for a particle in the fix group has shape = 0.0, which means it is a point particle. */ diff --git a/src/ASPHERE/fix_nph_asphere.h b/src/ASPHERE/fix_nph_asphere.h index 91f36b45c..b0a5f1902 100644 --- a/src/ASPHERE/fix_nph_asphere.h +++ b/src/ASPHERE/fix_nph_asphere.h @@ -1,48 +1,48 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nph/asphere,FixNPHAsphere) #else #ifndef LMP_FIX_NPH_ASPHERE_H #define LMP_FIX_NPH_ASPHERE_H #include "fix_nh_asphere.h" namespace LAMMPS_NS { class FixNPHAsphere : public FixNHAsphere { public: FixNPHAsphere(class LAMMPS *, int, char **); ~FixNPHAsphere() {} }; } #endif #endif /* ERROR/WARNING messages: E: Temperature control can not be used with fix nph/asphere Self-explanatory. E: Pressure control must be used with fix nph/asphere Self-explanatory. */ diff --git a/src/ASPHERE/fix_npt_asphere.h b/src/ASPHERE/fix_npt_asphere.h index b6e93993f..e8603e139 100755 --- a/src/ASPHERE/fix_npt_asphere.h +++ b/src/ASPHERE/fix_npt_asphere.h @@ -1,48 +1,48 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(npt/asphere,FixNPTAsphere) #else #ifndef LMP_FIX_NPT_ASPHERE_H #define LMP_FIX_NPT_ASPHERE_H #include "fix_nh_asphere.h" namespace LAMMPS_NS { class FixNPTAsphere : public FixNHAsphere { public: FixNPTAsphere(class LAMMPS *, int, char **); ~FixNPTAsphere() {} }; } #endif #endif /* ERROR/WARNING messages: E: Temperature control must be used with fix npt/asphere Self-explanatory. E: Pressure control must be used with fix npt/asphere Self-explanatory. */ diff --git a/src/ASPHERE/fix_nve_asphere.h b/src/ASPHERE/fix_nve_asphere.h index 1af989520..72442e9a6 100755 --- a/src/ASPHERE/fix_nve_asphere.h +++ b/src/ASPHERE/fix_nve_asphere.h @@ -1,53 +1,53 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nve/asphere,FixNVEAsphere) #else #ifndef LMP_FIX_NVE_ASPHERE_H #define LMP_FIX_NVE_ASPHERE_H #include "fix_nve.h" namespace LAMMPS_NS { class FixNVEAsphere : public FixNVE { public: FixNVEAsphere(class LAMMPS *, int, char **); void init(); void initial_integrate(int); void final_integrate(); private: double dtq; class AtomVecEllipsoid *avec; }; } #endif #endif /* ERROR/WARNING messages: E: Compute nve/asphere requires atom style ellipsoid Self-explanatory. E: Fix nve/asphere requires extended particles This fix can only be used for particles with a shape setting. */ diff --git a/src/ASPHERE/fix_nve_asphere_noforce.h b/src/ASPHERE/fix_nve_asphere_noforce.h index b3d306b1e..d15a88ffd 100755 --- a/src/ASPHERE/fix_nve_asphere_noforce.h +++ b/src/ASPHERE/fix_nve_asphere_noforce.h @@ -1,59 +1,59 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nve/asphere/noforce,FixNVEAsphereNoforce) #else #ifndef LMP_FIX_NVE_ASPHERE_NOFORCE_H #define LMP_FIX_NVE_ASPHERE_NOFORCE_H #include "fix_nve_noforce.h" namespace LAMMPS_NS { class FixNVEAsphereNoforce : public FixNVENoforce { public: FixNVEAsphereNoforce(class LAMMPS *, int, char **); void initial_integrate(int); void init(); private: double dtq; class AtomVecEllipsoid *avec; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 nve/asphere/noforce requires atom style ellipsoid Self-explanatory. E: Fix nve/asphere/noforce requires extended particles One of the particles is not an ellipsoid. */ diff --git a/src/ASPHERE/fix_nve_line.h b/src/ASPHERE/fix_nve_line.h index 00b3f57f9..2dc1a2961 100644 --- a/src/ASPHERE/fix_nve_line.h +++ b/src/ASPHERE/fix_nve_line.h @@ -1,66 +1,66 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nve/line,FixNVELine) #else #ifndef LMP_FIX_NVE_LINE_H #define LMP_FIX_NVE_LINE_H #include "fix_nve.h" namespace LAMMPS_NS { class FixNVELine : public FixNVE { public: FixNVELine(class LAMMPS *, int, char **); ~FixNVELine() {} int setmask(); void init(); void initial_integrate(int); void final_integrate(); private: double MINUSPI,TWOPI; class AtomVecLine *avec; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 nve/line requires atom style line Self-explanatory. E: Fix nve/line can only be used for 2d simulations Self-explanatory. E: Fix nve/line requires line particles Self-explanatory. */ diff --git a/src/ASPHERE/fix_nve_tri.h b/src/ASPHERE/fix_nve_tri.h index bf533662e..57b7ad991 100644 --- a/src/ASPHERE/fix_nve_tri.h +++ b/src/ASPHERE/fix_nve_tri.h @@ -1,66 +1,66 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nve/tri,FixNVETri) #else #ifndef LMP_FIX_NVE_TRI_H #define LMP_FIX_NVE_TRI_H #include "fix_nve.h" namespace LAMMPS_NS { class FixNVETri : public FixNVE { public: FixNVETri(class LAMMPS *, int, char **); ~FixNVETri() {} int setmask(); void init(); void initial_integrate(int); void final_integrate(); private: double dtq; class AtomVecTri *avec; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 nve/tri requires atom style tri Self-explanatory. E: Fix nve/tri can only be used for 3d simulations Self-explanatory. E: Fix nve/tri requires tri particles Self-explanatory. */ diff --git a/src/ASPHERE/fix_nvt_asphere.h b/src/ASPHERE/fix_nvt_asphere.h index e12f59641..63a4e487c 100755 --- a/src/ASPHERE/fix_nvt_asphere.h +++ b/src/ASPHERE/fix_nvt_asphere.h @@ -1,48 +1,48 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nvt/asphere,FixNVTAsphere) #else #ifndef LMP_FIX_NVT_ASPHERE_H #define LMP_FIX_NVT_ASPHERE_H #include "fix_nh_asphere.h" namespace LAMMPS_NS { class FixNVTAsphere : public FixNHAsphere { public: FixNVTAsphere(class LAMMPS *, int, char **); ~FixNVTAsphere() {} }; } #endif #endif /* ERROR/WARNING messages: E: Temperature control must be used with fix nvt/asphere Self-explanatory. E: Pressure control can not be used with fix nvt/asphere Self-explanatory. */ diff --git a/src/ASPHERE/pair_gayberne.h b/src/ASPHERE/pair_gayberne.h index cb43f4da4..7ab8bf72b 100755 --- a/src/ASPHERE/pair_gayberne.h +++ b/src/ASPHERE/pair_gayberne.h @@ -1,108 +1,108 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(gayberne,PairGayBerne) #else #ifndef LMP_PAIR_GAYBERNE_H #define LMP_PAIR_GAYBERNE_H #include "pair.h" namespace LAMMPS_NS { class PairGayBerne : public Pair { public: PairGayBerne(LAMMPS *lmp); virtual ~PairGayBerne(); virtual void compute(int, int); virtual void settings(int, char **); void coeff(int, char **); virtual void init_style(); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); protected: enum{SPHERE_SPHERE,SPHERE_ELLIPSE,ELLIPSE_SPHERE,ELLIPSE_ELLIPSE}; double cut_global; double **cut; double gamma,upsilon,mu; // Gay-Berne parameters double **shape1; // per-type radii in x, y and z double **shape2; // per-type radii in x, y and z SQUARED double *lshape; // precalculation based on the shape double **well; // well depth scaling along each axis ^ -1.0/mu double **epsilon,**sigma; // epsilon and sigma values for atom-type pairs int **form; double **lj1,**lj2,**lj3,**lj4; double **offset; int *setwell; class AtomVecEllipsoid *avec; void allocate(); double gayberne_analytic(const int i, const int j, double a1[3][3], double a2[3][3], double b1[3][3], double b2[3][3], double g1[3][3], double g2[3][3], double *r12, const double rsq, double *fforce, double *ttor, double *rtor); double gayberne_lj(const int i, const int j, double a1[3][3], double b1[3][3],double g1[3][3],double *r12, const double rsq, double *fforce, double *ttor); void compute_eta_torque(double m[3][3], double m2[3][3], double *s, double ans[3][3]); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair gayberne requires atom style ellipsoid Self-explanatory. E: Pair gayberne requires atoms with same type have same shape Self-explanatory. E: Pair gayberne epsilon a,b,c coeffs are not all set Each atom type involved in pair_style gayberne must have these 3 coefficients set at least once. E: Bad matrix inversion in mldivide3 This error should not occur unless the matrix is badly formed. */ diff --git a/src/ASPHERE/pair_line_lj.h b/src/ASPHERE/pair_line_lj.h index 2db12eca8..7d99e836f 100644 --- a/src/ASPHERE/pair_line_lj.h +++ b/src/ASPHERE/pair_line_lj.h @@ -1,80 +1,80 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(line/lj,PairLineLJ) #else #ifndef LMP_PAIR_LINE_LJ_H #define LMP_PAIR_LINE_LJ_H #include "pair.h" namespace LAMMPS_NS { class PairLineLJ : public Pair { public: PairLineLJ(class LAMMPS *); virtual ~PairLineLJ(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); virtual void init_style(); double init_one(int, int); protected: double cut_global; double **cut; double **epsilon,**sigma; double **lj1,**lj2,**lj3,**lj4; class AtomVecLine *avec; struct Discrete { double dx,dy; double sigma; }; Discrete *discrete; // list of all discretes for all lines int ndiscrete; // number of discretes in list int dmax; // allocated size of discrete list int *dnum; // number of discretes per line, 0 if uninit int *dfirst; // index of first discrete per each line int nmax; // allocated size of dnum,dfirst vectors void allocate(); void discretize(int, double); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair line/lj requires atom style line Self-explanatory. */ diff --git a/src/ASPHERE/pair_resquared.h b/src/ASPHERE/pair_resquared.h index a9794e91f..936920884 100755 --- a/src/ASPHERE/pair_resquared.h +++ b/src/ASPHERE/pair_resquared.h @@ -1,131 +1,131 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(resquared,PairRESquared) #else #ifndef LMP_PAIR_RESQUARED_H #define LMP_PAIR_RESQUARED_H #include "pair.h" namespace LAMMPS_NS { class PairRESquared : public Pair { public: PairRESquared(LAMMPS *lmp); virtual ~PairRESquared(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); virtual void init_style(); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); protected: enum{SPHERE_SPHERE,SPHERE_ELLIPSE,ELLIPSE_SPHERE,ELLIPSE_ELLIPSE}; double cut_global; double **cut; double **shape1; // per-type radii in x, y and z double **shape2; // per-type radii in x, y and z SQUARED double *lshape; // product of the radii double **well; // well depth scaling along each axis double **epsilon,**sigma; // epsilon and sigma values for atom-type pairs int **form; double **lj1,**lj2,**lj3,**lj4; double **offset; int *setwell; class AtomVecEllipsoid *avec; // per-particle temporaries for RE-squared calculation struct RE2Vars { // per particle precomputations for energy, force, torque double A[3][3]; // Rotation matrix (lab->body) double aTe[3][3]; // A'*E double gamma[3][3]; // A'*S^2*A // per particle precomputations for torque double sa[3][3]; // S^2*A; double lA[3][3][3]; // -A*rotation generator (x,y, or z) double lAtwo[3][3][3]; // A'*S^2*lA double lAsa[3][3][3]; // lAtwo+lA'*sa }; void allocate(); void precompute_i(const int i,RE2Vars &ws); double det_prime(const double m[3][3], const double m2[3][3]); double resquared_analytic(const int i, const int j, const RE2Vars &wi, const RE2Vars &wj, const double *r, const double rsq, double *fforce, double *ttor, double *rtor); double resquared_lj(const int i, const int j, const RE2Vars &wi, const double *r, const double rsq, double *fforce, double *ttor, bool calc_torque); double cr60; // 60^1/3 double b_alpha; // 45/56 double solv_f_a; // 3.0/(4.0*PI*-36) double solv_f_r; // 3.0/(4.0*PI*2025) }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair resquared requires atom style ellipsoid Self-explanatory. E: Pair resquared requires atoms with same type have same shape Self-explanatory. E: Pair resquared epsilon a,b,c coeffs are not all set Self-explanatory. E: Pair resquared epsilon and sigma coeffs are not all set Self-explanatory. E: Bad matrix inversion in mldivide3 This error should not occur unless the matrix is badly formed. */ diff --git a/src/ASPHERE/pair_tri_lj.h b/src/ASPHERE/pair_tri_lj.h index 90e4e2409..287484887 100644 --- a/src/ASPHERE/pair_tri_lj.h +++ b/src/ASPHERE/pair_tri_lj.h @@ -1,80 +1,80 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(tri/lj,PairTriLJ) #else #ifndef LMP_PAIR_TRI_LJ_H #define LMP_PAIR_TRI_LJ_H #include "pair.h" namespace LAMMPS_NS { class PairTriLJ : public Pair { public: PairTriLJ(class LAMMPS *); virtual ~PairTriLJ(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); virtual void init_style(); double init_one(int, int); protected: double cut_global; double **cut; double **epsilon,**sigma; double **lj1,**lj2,**lj3,**lj4; class AtomVecTri *avec; struct Discrete { double dx,dy,dz; double sigma; }; Discrete *discrete; // list of all discretes for all lines int ndiscrete; // number of discretes in list int dmax; // allocated size of discrete list int *dnum; // number of discretes per line, 0 if uninit int *dfirst; // index of first discrete per each line int nmax; // allocated size of dnum,dfirst vectors void allocate(); void discretize(int, double, double *, double *, double *); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair tri/lj requires atom style tri Self-explanatory. */ diff --git a/src/BODY/body_nparticle.h b/src/BODY/body_nparticle.h index 90897cb2f..63103d987 100644 --- a/src/BODY/body_nparticle.h +++ b/src/BODY/body_nparticle.h @@ -1,76 +1,76 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef BODY_CLASS BodyStyle(nparticle,BodyNparticle) #else #ifndef LMP_BODY_NPARTICLE_H #define LMP_BODY_NPARTICLE_H #include "body.h" #include "atom_vec_body.h" namespace LAMMPS_NS { class BodyNparticle : public Body { public: BodyNparticle(class LAMMPS *, int, char **); ~BodyNparticle(); int nsub(struct AtomVecBody::Bonus *); double *coords(struct AtomVecBody::Bonus *); int pack_border_body(struct AtomVecBody::Bonus *, double *); int unpack_border_body(struct AtomVecBody::Bonus *, double *); void data_body(int, int, int, char **, char **); int noutrow(int); int noutcol(); void output(int, int, double *); }; } #endif #endif /* ERROR/WARNING messages: E: Invalid body nparticle command Arguments in atom-style command are not correct. E: Invalid format in Bodies section of data file The specified number of integer or floating point values does not appear. E: Incorrect # of integer values in Bodies section of data file See doc page for body style. E: Incorrect integer value in Bodies section of data file See doc page for body style. E: Incorrect # of floating-point values in Bodies section of data file See doc page for body style. E: Insufficient Jacobi rotations for body nparticle Eigensolve for rigid body was not sufficiently accurate. */ diff --git a/src/BODY/compute_body_local.h b/src/BODY/compute_body_local.h index b8adf8238..5e9c036ff 100644 --- a/src/BODY/compute_body_local.h +++ b/src/BODY/compute_body_local.h @@ -1,75 +1,75 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(body/local,ComputeBodyLocal) #else #ifndef LMP_COMPUTE_BODY_LOCAL_H #define LMP_COMPUTE_BODY_LOCAL_H #include "compute.h" namespace LAMMPS_NS { class ComputeBodyLocal : public Compute { public: ComputeBodyLocal(class LAMMPS *, int, char **); ~ComputeBodyLocal(); void init(); void compute_local(); double memory_usage(); private: int nvalues; int *which,*index; int nmax; double *vector; double **array; class AtomVecBody *avec; class Body *bptr; int compute_body(int); void reallocate(int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute body/local requires atom style body Self-explanatory. E: Invalid index in compute body/local command Self-explanatory. E: Invalid index for non-body particles in compute body/local command Only indices 1,2,3 can be used for non-body particles. */ diff --git a/src/BODY/fix_nve_body.h b/src/BODY/fix_nve_body.h index 213434b60..f33b5863f 100644 --- a/src/BODY/fix_nve_body.h +++ b/src/BODY/fix_nve_body.h @@ -1,53 +1,53 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nve/body,FixNVEBody) #else #ifndef LMP_FIX_NVE_BODY_H #define LMP_FIX_NVE_BODY_H #include "fix_nve.h" namespace LAMMPS_NS { class FixNVEBody : public FixNVE { public: FixNVEBody(class LAMMPS *, int, char **); void init(); void initial_integrate(int); void final_integrate(); private: double dtq; class AtomVecBody *avec; }; } #endif #endif /* ERROR/WARNING messages: E: Fix nve/body requires atom style body Self-explanatory. E: Fix nve/body requires bodies This fix can only be used for particles that are bodies. */ diff --git a/src/BODY/pair_body.h b/src/BODY/pair_body.h index 80d36be0d..94fbdf34d 100644 --- a/src/BODY/pair_body.h +++ b/src/BODY/pair_body.h @@ -1,82 +1,82 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(body,PairBody) #else #ifndef LMP_PAIR_BODY_H #define LMP_PAIR_BODY_H #include "pair.h" namespace LAMMPS_NS { class PairBody : public Pair { public: PairBody(class LAMMPS *); ~PairBody(); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); protected: double cut_global; double **cut; double **epsilon,**sigma; double **lj1,**lj2,**lj3,**lj4; class AtomVecBody *avec; class BodyNparticle *bptr; double **discrete; // list of all sub-particles for all bodies int ndiscrete; // number of discretes in list int dmax; // allocated size of discrete list int *dnum; // number of discretes per line, 0 if uninit int *dfirst; // index of first discrete per each line int nmax; // allocated size of dnum,dfirst vectors void allocate(); void body2space(int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair body requires atom style body Self-explanatory. E: Pair body requires body style nparticle This pair style is specific to the nparticle body style. */ diff --git a/src/CLASS2/angle_class2.h b/src/CLASS2/angle_class2.h index a8c709851..202dda6fa 100644 --- a/src/CLASS2/angle_class2.h +++ b/src/CLASS2/angle_class2.h @@ -1,60 +1,60 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ANGLE_CLASS AngleStyle(class2,AngleClass2) #else #ifndef LMP_ANGLE_CLASS2_H #define LMP_ANGLE_CLASS2_H #include "stdio.h" #include "angle.h" namespace LAMMPS_NS { class AngleClass2 : public Angle { public: AngleClass2(class LAMMPS *); virtual ~AngleClass2(); virtual void compute(int, int); void coeff(int, char **); double equilibrium_angle(int); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); double single(int, int, int, int); protected: double *theta0,*k2,*k3,*k4; double *bb_k,*bb_r1,*bb_r2; double *ba_k1,*ba_k2,*ba_r1,*ba_r2; int *setflag_a,*setflag_bb,*setflag_ba; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args for angle coefficients Self-explanatory. Check the input script or data file. */ diff --git a/src/CLASS2/bond_class2.h b/src/CLASS2/bond_class2.h index 53dfde5e6..6c54a7136 100644 --- a/src/CLASS2/bond_class2.h +++ b/src/CLASS2/bond_class2.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef BOND_CLASS BondStyle(class2,BondClass2) #else #ifndef LMP_BOND_CLASS2_H #define LMP_BOND_CLASS2_H #include "stdio.h" #include "bond.h" namespace LAMMPS_NS { class BondClass2 : public Bond { public: BondClass2(class LAMMPS *); virtual ~BondClass2(); virtual void compute(int, int); void coeff(int, char **); double equilibrium_distance(int); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); double single(int, double, int, int, double &); protected: double *r0,*k2,*k3,*k4; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args for bond coefficients Self-explanatory. Check the input script or data file. */ diff --git a/src/COLLOID/fix_wall_colloid.h b/src/COLLOID/fix_wall_colloid.h index f047818a1..59b079f86 100644 --- a/src/COLLOID/fix_wall_colloid.h +++ b/src/COLLOID/fix_wall_colloid.h @@ -1,58 +1,58 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(wall/colloid,FixWallColloid) #else #ifndef LMP_FIX_WALL_COLLOID_H #define LMP_FIX_WALL_COLLOID_H #include "fix_wall.h" namespace LAMMPS_NS { class FixWallColloid : public FixWall { public: FixWallColloid(class LAMMPS *, int, char **); void init(); void precompute(int); void wall_particle(int, int, double); private: double coeff1[6],coeff2[6],coeff3[6],coeff4[6]; }; } #endif #endif /* ERROR/WARNING messages: E: Fix wall/colloid requires atom style sphere Self-explanatory. E: Fix wall/colloid requires extended particles One of the particles has radius 0.0. E: Particle on or inside fix wall surface Particles must be "exterior" to the wall in order for energy/force to be calculated. */ diff --git a/src/COLLOID/pair_colloid.h b/src/COLLOID/pair_colloid.h index 909260137..24ebb9953 100644 --- a/src/COLLOID/pair_colloid.h +++ b/src/COLLOID/pair_colloid.h @@ -1,85 +1,85 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(colloid,PairColloid) #else #ifndef LMP_PAIR_COLLOID_H #define LMP_PAIR_COLLOID_H #include "pair.h" namespace LAMMPS_NS { class PairColloid : public Pair { public: PairColloid(class LAMMPS *); virtual ~PairColloid(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); double single(int, int, int, int, double, double, double, double &); protected: enum {SMALL_SMALL,SMALL_LARGE,LARGE_LARGE}; double cut_global; double **cut; double **a12,**d1,**d2,**diameter,**a1,**a2,**offset; double **sigma,**sigma3,**sigma6; double **lj1,**lj2,**lj3,**lj4; int **form; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Overlapping small/large in pair colloid This potential is infinite when there is an overlap. E: Overlapping large/large in pair colloid This potential is infinite when there is an overlap. E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Invalid d1 or d2 value for pair colloid coeff Neither d1 or d2 can be < 0. */ diff --git a/src/COLLOID/pair_yukawa_colloid.h b/src/COLLOID/pair_yukawa_colloid.h index be04d790a..f22c9654b 100644 --- a/src/COLLOID/pair_yukawa_colloid.h +++ b/src/COLLOID/pair_yukawa_colloid.h @@ -1,52 +1,52 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(yukawa/colloid,PairYukawaColloid) #else #ifndef LMP_PAIR_YUKAWA_COLLOID_H #define LMP_PAIR_YUKAWA_COLLOID_H #include "pair_yukawa.h" namespace LAMMPS_NS { class PairYukawaColloid : public PairYukawa { public: PairYukawaColloid(class LAMMPS *); virtual ~PairYukawaColloid() {} virtual void compute(int, int); void init_style(); double init_one(int, int); double single(int, int, int, int, double, double, double, double &); }; } #endif #endif /* ERROR/WARNING messages: E: Pair yukawa/colloid requires atom style sphere Self-explantory. E: Pair yukawa/colloid requires atoms with same type have same radius Self-explantory. */ diff --git a/src/DIPOLE/atom_vec_dipole.h b/src/DIPOLE/atom_vec_dipole.h index a8126a872..c6ee23def 100644 --- a/src/DIPOLE/atom_vec_dipole.h +++ b/src/DIPOLE/atom_vec_dipole.h @@ -1,85 +1,85 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(dipole,AtomVecDipole) #else #ifndef LMP_ATOM_VEC_DIPOLE_H #define LMP_ATOM_VEC_DIPOLE_H #include "atom_vec.h" namespace LAMMPS_NS { class AtomVecDipole : public AtomVec { public: AtomVecDipole(class LAMMPS *); void grow(int); void grow_reset(); void copy(int, int, int); int pack_comm(int, int *, double *, int, int *); int pack_comm_vel(int, int *, double *, int, int *); int pack_comm_hybrid(int, int *, double *); void unpack_comm(int, int, double *); void unpack_comm_vel(int, int, double *); int unpack_comm_hybrid(int, int, double *); int pack_reverse(int, int, double *); void unpack_reverse(int, int *, double *); int pack_border(int, int *, double *, int, int *); int pack_border_vel(int, int *, double *, int, int *); int pack_border_hybrid(int, int *, double *); void unpack_border(int, int, double *); void unpack_border_vel(int, int, double *); int unpack_border_hybrid(int, int, double *); int pack_exchange(int, double *); int unpack_exchange(double *); int size_restart(); int pack_restart(int, double *); int unpack_restart(double *); void create_atom(int, double *); void data_atom(double *, imageint, char **); int data_atom_hybrid(int, char **); void pack_data(double **); int pack_data_hybrid(int, double *); void write_data(FILE *, int, double **); int write_data_hybrid(FILE *, double *); bigint memory_usage(); private: tagint *tag; int *type,*mask; imageint *image; double **x,**v,**f; double *q,**mu; }; } #endif #endif /* ERROR/WARNING messages: E: Per-processor system is too big The number of owned atoms plus ghost atoms on a single processor must fit in 32-bit integer. E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. */ diff --git a/src/DIPOLE/pair_lj_cut_dipole_cut.h b/src/DIPOLE/pair_lj_cut_dipole_cut.h index ab0e0855c..2cf38bb86 100755 --- a/src/DIPOLE/pair_lj_cut_dipole_cut.h +++ b/src/DIPOLE/pair_lj_cut_dipole_cut.h @@ -1,74 +1,74 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/dipole/cut,PairLJCutDipoleCut) #else #ifndef LMP_PAIR_LJ_CUT_DIPOLE_CUT_H #define LMP_PAIR_LJ_CUT_DIPOLE_CUT_H #include "pair.h" namespace LAMMPS_NS { class PairLJCutDipoleCut : public Pair { public: PairLJCutDipoleCut(class LAMMPS *); virtual ~PairLJCutDipoleCut(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); protected: double cut_lj_global,cut_coul_global; double **cut_lj,**cut_ljsq; double **cut_coul,**cut_coulsq; double **epsilon,**sigma; double **lj1,**lj2,**lj3,**lj4,**offset; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args in pair_style command Self-explanatory. E: Cannot (yet) use 'electron' units with dipoles This feature is not yet supported. E: Incorrect args for pair coefficients Self-explanatory. Check the input script or data file. E: Pair dipole/cut requires atom attributes q, mu, torque The atom style defined does not have these attributes. */ diff --git a/src/DIPOLE/pair_lj_cut_dipole_long.h b/src/DIPOLE/pair_lj_cut_dipole_long.h index 3c156a0ff..9c04a31d2 100755 --- a/src/DIPOLE/pair_lj_cut_dipole_long.h +++ b/src/DIPOLE/pair_lj_cut_dipole_long.h @@ -1,84 +1,84 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator www.cs.sandia.gov/~sjplimp/lammps.html Steve Plimpton, sjplimp@sandia.gov, Sandia National Laboratories Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/dipole/long,PairLJCutDipoleLong) #else #ifndef LMP_PAIR_LJ_CUT_DIPOLE_LONG_H #define LMP_PAIR_LJ_CUT_DIPOLE_LONG_H #include "pair.h" namespace LAMMPS_NS { class PairLJCutDipoleLong : public Pair { public: double cut_coul; double **sigma; PairLJCutDipoleLong(class LAMMPS *); ~PairLJCutDipoleLong(); void compute(int, int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); void init_style(); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); private: double cut_lj_global; double **cut_lj,**cut_ljsq; double cut_coulsq; double **epsilon; double **lj1,**lj2,**lj3,**lj4,**offset; double g_ewald; int ewald_order; virtual void *extract(const char *, int &); void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args in pair_style command Self-explanatory. E: Incorrect args for pair coefficients Self-explanatory. Check the input script or data file. E: Pair dipole/long requires atom attributes q, mu, torque The atom style defined does not have these attributes. E: Cannot (yet) use 'electron' units with dipoles This feature is not yet supported. E: Pair style requires a KSpace style No kspace style is defined. */ diff --git a/src/FLD/pair_brownian.h b/src/FLD/pair_brownian.h index 88ae714e6..874507852 100644 --- a/src/FLD/pair_brownian.h +++ b/src/FLD/pair_brownian.h @@ -1,102 +1,102 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(brownian,PairBrownian) #else #ifndef LMP_PAIR_BROWNIAN_H #define LMP_PAIR_BROWNIAN_H #include "pair.h" namespace LAMMPS_NS { class PairBrownian : public Pair { public: PairBrownian(class LAMMPS *); virtual ~PairBrownian(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); virtual double init_one(int, int); virtual void init_style(); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); protected: double cut_inner_global,cut_global; double t_target,mu; int flaglog,flagfld; int flagHI, flagVF; int flagdeform, flagwall; double vol_P; double rad; class FixWall *wallfix; int seed; double **cut_inner,**cut; double R0,RT0; class RanMars *random; void set_3_orthogonal_vectors(double*,double*,double*); void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot include log terms without 1/r terms; setting flagHI to 1 Self-explanatory. E: Incorrect args for pair coefficients Self-explanatory. Check the input script or data file. E: Pair brownian requires atom style sphere Self-explanatory. W: Pair brownian needs newton pair on for momentum conservation Self-explanatory. E: Pair brownian requires extended particles One of the particles has radius 0.0. E: Pair brownian requires monodisperse particles All particles must be the same finite size. E: Cannot use multiple fix wall commands with pair brownian Self-explanatory. */ diff --git a/src/FLD/pair_brownian_poly.h b/src/FLD/pair_brownian_poly.h index bbf0c93be..780858387 100644 --- a/src/FLD/pair_brownian_poly.h +++ b/src/FLD/pair_brownian_poly.h @@ -1,59 +1,59 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(brownian/poly,PairBrownianPoly) #else #ifndef LMP_PAIR_BROWNIAN_POLY_H #define LMP_PAIR_BROWNIAN_POLY_H #include "pair_brownian.h" namespace LAMMPS_NS { class PairBrownianPoly : public PairBrownian { public: PairBrownianPoly(class LAMMPS *); ~PairBrownianPoly() {} void compute(int, int); double init_one(int, int); void init_style(); }; } #endif #endif /* ERROR/WARNING messages: E: Pair brownian/poly requires newton pair off Self-explanatory. E: Pair brownian/poly requires atom style sphere Self-explanatory. E: Pair brownian/poly requires extended particles One of the particles has radius 0.0. E: Cannot use multiple fix wall commands with pair brownian Self-explanatory. */ diff --git a/src/FLD/pair_lubricate.h b/src/FLD/pair_lubricate.h index f61cbca18..c2c4c6c41 100644 --- a/src/FLD/pair_lubricate.h +++ b/src/FLD/pair_lubricate.h @@ -1,103 +1,103 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lubricate,PairLubricate) #else #ifndef LMP_PAIR_LUBRICATE_H #define LMP_PAIR_LUBRICATE_H #include "pair.h" namespace LAMMPS_NS { class PairLubricate : public Pair { public: PairLubricate(class LAMMPS *); virtual ~PairLubricate(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); virtual void init_style(); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); int pre_adapt(char *, int, int, int, int); void adapt(int, int, int, int, int, double); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); protected: double mu,cut_inner_global,cut_global; double rad; int flaglog,flagfld,shearing; int flagdeform, flagwall; double vol_P; class FixWall *wallfix; int flagVF, flagHI; double Ef[3][3]; double R0,RT0,RS0; double **cut_inner,**cut; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot include log terms without 1/r terms; setting flagHI to 1 Self-explanatory. E: Incorrect args for pair coefficients Self-explanatory. Check the input script or data file. E: Pair lubricate requires atom style sphere Self-explanatory. E: Pair lubricate requires ghost atoms store velocity Use the comm_modify vel yes command to enable this. E: Pair lubricate requires monodisperse particles All particles must be the same finite size. E: Using pair lubricate with inconsistent fix deform remap option Must use remap v option with fix deform with this pair style. E: Cannot use multiple fix wall commands with pair lubricate Self-explanatory. */ diff --git a/src/FLD/pair_lubricateU.h b/src/FLD/pair_lubricateU.h index a1c9a936c..4968c665a 100644 --- a/src/FLD/pair_lubricateU.h +++ b/src/FLD/pair_lubricateU.h @@ -1,114 +1,114 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lubricateU,PairLubricateU) #else #ifndef LMP_PAIR_LUBRICATEU_H #define LMP_PAIR_LUBRICATEU_H #include "pair.h" namespace LAMMPS_NS { class PairLubricateU : public Pair { public: PairLubricateU(class LAMMPS *); virtual ~PairLubricateU(); virtual void compute(int, int); virtual void settings(int, char **); void coeff(int, char **); double init_one(int, int); virtual void init_style(); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); protected: double cut_inner_global,cut_global; double mu; double rad; int flaglog; int flagdeform, flagwall; int flagVF, flagHI; double vol_P; class FixWall *wallfix; double gdot,Ef[3][3]; double **cut_inner,**cut; void allocate(); double R0,RT0,RS0; int nmax; double **fl,**Tl,**xl; int cgmax; double *bcg,*xcg,*rcg,*rcg1,*pcg,*RU; void compute_RE(); virtual void compute_RE(double **); void compute_RU(); virtual void compute_RU(double **); virtual void compute_Fh(double **); void stage_one(); void intermediates(int, double **); void stage_two(double **); void copy_vec_uo(int, double *, double **, double **); void copy_uo_vec(int, double **, double **, double *); double dot_vec_vec(int , double *, double *); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot include log terms without 1/r terms; setting flagHI to 1. Self-explanatory. E: Incorrect args for pair coefficients Self-explanatory. Check the input script or data file. E: Pair lubricateU requires atom style sphere Self-explanatory. E: Pair lubricateU requires ghost atoms store velocity Use the comm_modify vel yes command to enable this. E: Pair lubricateU requires monodisperse particles All particles must be the same finite size. E: Cannot use multiple fix wall commands with pair lubricateU Self-explanatory. */ diff --git a/src/FLD/pair_lubricateU_poly.h b/src/FLD/pair_lubricateU_poly.h index 06c88a340..0f22809cf 100644 --- a/src/FLD/pair_lubricateU_poly.h +++ b/src/FLD/pair_lubricateU_poly.h @@ -1,83 +1,83 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lubricateU/poly,PairLubricateUPoly) #else #ifndef LMP_PAIR_LUBRICATEU_POLY_H #define LMP_PAIR_LUBRICATEU_POLY_H #include "pair_lubricateU.h" namespace LAMMPS_NS { class PairLubricateUPoly : public PairLubricateU { public: PairLubricateUPoly(class LAMMPS *); ~PairLubricateUPoly() {} void compute(int, int); void settings(int, char **); void init_style(); private: double vol_P; int flagdeform, flagwall, flagVF, flagHI; class FixWall *wallfix; void iterate(double **, int); void compute_RE(double **); void compute_RU(double **); void compute_Fh(double **); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot include log terms without 1/r terms; setting flagHI to 1 Self-explanatory. E: Pair lubricateU/poly requires newton pair off Self-explanatory. E: Pair lubricateU/poly requires ghost atoms store velocity Use the comm_modify vel yes command to enable this. E: Pair lubricate/poly requires atom style sphere Self-explanatory. E: Pair lubricate/poly requires extended particles One of the particles has radius 0.0. E: Cannot use multiple fix wall commands with pair lubricateU Self-explanatory. */ diff --git a/src/FLD/pair_lubricate_poly.h b/src/FLD/pair_lubricate_poly.h index 6c1dacd81..5e58b2425 100644 --- a/src/FLD/pair_lubricate_poly.h +++ b/src/FLD/pair_lubricate_poly.h @@ -1,70 +1,70 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lubricate/poly,PairLubricatePoly) #else #ifndef LMP_PAIR_LUBRICATE_POLY_H #define LMP_PAIR_LUBRICATE_POLY_H #include "pair_lubricate.h" namespace LAMMPS_NS { class PairLubricatePoly : public PairLubricate { public: PairLubricatePoly(class LAMMPS *); ~PairLubricatePoly() {} void compute(int, int); void init_style(); }; } #endif #endif /* ERROR/WARNING messages: E: Pair lubricate/poly requires newton pair off Self-explanatory. E: Pair lubricate/poly requires ghost atoms store velocity Use the comm_modify vel yes command to enable this. E: Pair lubricate/poly requires atom style sphere Self-explanatory. E: Pair lubricate/poly requires extended particles One of the particles has radius 0.0. E: Using pair lubricate with inconsistent fix deform remap option Must use remap v option with fix deform with this pair style. E: Cannot use multiple fix wall commands with pair lubricate/poly Self-explanatory. E: Using pair lubricate/poly with inconsistent fix deform remap option If fix deform is used, the remap v option is required. */ diff --git a/src/GPU/fix_gpu.h b/src/GPU/fix_gpu.h index 75dd4c8e4..6cbcaf88a 100644 --- a/src/GPU/fix_gpu.h +++ b/src/GPU/fix_gpu.h @@ -1,95 +1,95 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(GPU,FixGPU) #else #ifndef LMP_FIX_GPU_H #define LMP_FIX_GPU_H #include "fix.h" namespace LAMMPS_NS { class FixGPU : public Fix { public: FixGPU(class LAMMPS *, int, char **); ~FixGPU(); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void min_post_force(int); void post_force_respa(int, int, int); double memory_usage(); private: int _gpu_mode; int _nlevels_respa; double _particle_split; }; } #endif #endif /* ERROR/WARNING messages: E: Cannot use fix GPU with USER-CUDA mode enabled You cannot use both the GPU and USER-CUDA packages together. Use one or the other. E: Illegal ... command 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: Cannot use force/neigh with triclinic box This is a current limitation of the GPU implementation in LAMMPS. E: Cannot use force/hybrid_neigh with triclinic box Self-explanatory. E: No OpenMP support compiled in An OpenMP flag is set, but LAMMPS was not built with OpenMP support. E: GPU package does not (yet) work with atom_style template Self-explanatory. E: Cannot use pair hybrid with GPU neighbor list builds Neighbor list builds must be done on the CPU for this pair style. E: GPU split param must be positive for hybrid pair styles See the package gpu command. E: Cannot use neigh_modify exclude with GPU neighbor builds This is a current limitation of the GPU implementation in LAMMPS. */ diff --git a/src/GPU/pair_beck_gpu.h b/src/GPU/pair_beck_gpu.h index d498f3386..4ae04a82a 100644 --- a/src/GPU/pair_beck_gpu.h +++ b/src/GPU/pair_beck_gpu.h @@ -1,58 +1,58 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(beck/gpu,PairBeckGPU) #else #ifndef LMP_PAIR_BECK_GPU_H #define LMP_PAIR_BECK_GPU_H #include "pair_beck.h" namespace LAMMPS_NS { class PairBeckGPU : public PairBeck { public: PairBeckGPU(LAMMPS *lmp); ~PairBeckGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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 beck/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_born_coul_long_gpu.h b/src/GPU/pair_born_coul_long_gpu.h index 2a70e2928..18b932f6e 100644 --- a/src/GPU/pair_born_coul_long_gpu.h +++ b/src/GPU/pair_born_coul_long_gpu.h @@ -1,67 +1,67 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(born/coul/long/gpu,PairBornCoulLongGPU) #else #ifndef LMP_PAIR_BORN_COUL_LONG_GPU_H #define LMP_PAIR_BORN_COUL_LONG_GPU_H #include "pair_born_coul_long.h" namespace LAMMPS_NS { class PairBornCoulLongGPU : public PairBornCoulLong { public: PairBornCoulLongGPU(LAMMPS *lmp); ~PairBornCoulLongGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: E: Insufficient memory on accelerator 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 The atom style defined does not have this attribute. E: Cannot use newton pair with born/coul/long/gpu pair style Self-explanatory. E: Pair style is incompatible with KSpace style If a pair style with a long-range Coulombic component is selected, then a kspace style must also be used. */ diff --git a/src/GPU/pair_born_coul_wolf_gpu.h b/src/GPU/pair_born_coul_wolf_gpu.h index 2f5dd032a..0aec3a4b3 100644 --- a/src/GPU/pair_born_coul_wolf_gpu.h +++ b/src/GPU/pair_born_coul_wolf_gpu.h @@ -1,58 +1,58 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(born/coul/wolf/gpu,PairBornCoulWolfGPU) #else #ifndef LMP_PAIR_BORN_COUL_WOLF_GPU_H #define LMP_PAIR_BORN_COUL_WOLF_GPU_H #include "pair_born_coul_wolf.h" namespace LAMMPS_NS { class PairBornCoulWolfGPU : public PairBornCoulWolf { public: PairBornCoulWolfGPU(LAMMPS *lmp); ~PairBornCoulWolfGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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 born/coul/wolf/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_born_gpu.h b/src/GPU/pair_born_gpu.h index 459b363a7..e5961de99 100644 --- a/src/GPU/pair_born_gpu.h +++ b/src/GPU/pair_born_gpu.h @@ -1,59 +1,59 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(born/gpu,PairBornGPU) #else #ifndef LMP_PAIR_BORN_GPU_H #define LMP_PAIR_BORN_GPU_H #include "pair_born.h" namespace LAMMPS_NS { class PairBornGPU : public PairBorn { public: PairBornGPU(LAMMPS *lmp); ~PairBornGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); void reinit(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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 born/gpu pair style Self-explantory. */ diff --git a/src/GPU/pair_buck_coul_cut_gpu.h b/src/GPU/pair_buck_coul_cut_gpu.h index 412dea6d9..d4e9a81d7 100644 --- a/src/GPU/pair_buck_coul_cut_gpu.h +++ b/src/GPU/pair_buck_coul_cut_gpu.h @@ -1,58 +1,58 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(buck/coul/cut/gpu,PairBuckCoulCutGPU) #else #ifndef LMP_PAIR_BUCK_COUL_CUT_GPU_H #define LMP_PAIR_BUCK_COUL_CUT_GPU_H #include "pair_buck_coul_cut.h" namespace LAMMPS_NS { class PairBuckCoulCutGPU : public PairBuckCoulCut { public: PairBuckCoulCutGPU(LAMMPS *lmp); ~PairBuckCoulCutGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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 buck/coul/cut/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_buck_coul_long_gpu.h b/src/GPU/pair_buck_coul_long_gpu.h index 3342190a2..cd69f4d41 100644 --- a/src/GPU/pair_buck_coul_long_gpu.h +++ b/src/GPU/pair_buck_coul_long_gpu.h @@ -1,67 +1,67 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(buck/coul/long/gpu,PairBuckCoulLongGPU) #else #ifndef LMP_PAIR_BUCK_COUL_LONG_GPU_H #define LMP_PAIR_BUCK_COUL_LONG_GPU_H #include "pair_buck_coul_long.h" namespace LAMMPS_NS { class PairBuckCoulLongGPU : public PairBuckCoulLong { public: PairBuckCoulLongGPU(LAMMPS *lmp); ~PairBuckCoulLongGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: E: Insufficient memory on accelerator There is insufficient memory on one of the devices specified for the gpu package E: Pair style buck/coul/long/gpu requires atom attribute q The atom style defined does not have this attribute. E: Cannot use newton pair with buck/coul/long/gpu pair style Self-explanatory. E: Pair style is incompatible with KSpace style If a pair style with a long-range Coulombic component is selected, then a kspace style must also be used. */ diff --git a/src/GPU/pair_buck_gpu.h b/src/GPU/pair_buck_gpu.h index 6e0074878..4cd34db78 100644 --- a/src/GPU/pair_buck_gpu.h +++ b/src/GPU/pair_buck_gpu.h @@ -1,59 +1,59 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(buck/gpu,PairBuckGPU) #else #ifndef LMP_PAIR_BUCK_GPU_H #define LMP_PAIR_BUCK_GPU_H #include "pair_buck.h" namespace LAMMPS_NS { class PairBuckGPU : public PairBuck { public: PairBuckGPU(LAMMPS *lmp); ~PairBuckGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); void reinit(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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 buck/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_colloid_gpu.h b/src/GPU/pair_colloid_gpu.h index 41939557a..5bb524e89 100644 --- a/src/GPU/pair_colloid_gpu.h +++ b/src/GPU/pair_colloid_gpu.h @@ -1,66 +1,66 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(colloid/gpu,PairColloidGPU) #else #ifndef LMP_PAIR_COLLOID_GPU_H #define LMP_PAIR_COLLOID_GPU_H #include "pair_colloid.h" namespace LAMMPS_NS { class PairColloidGPU : public PairColloid { public: PairColloidGPU(LAMMPS *lmp); ~PairColloidGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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 colloid/gpu pair style Self-explanatory. E: Overlapping small/large in pair colloid This potential is infinite when there is an overlap. E: Overlapping large/large in pair colloid This potential is infinite when there is an overlap. */ diff --git a/src/GPU/pair_coul_cut_gpu.h b/src/GPU/pair_coul_cut_gpu.h index 14ee62a45..9517b17df 100644 --- a/src/GPU/pair_coul_cut_gpu.h +++ b/src/GPU/pair_coul_cut_gpu.h @@ -1,63 +1,63 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(coul/cut/gpu,PairCoulCutGPU) #else #ifndef LMP_PAIR_COUL_CUT_GPU_H #define LMP_PAIR_COUL_CUT_GPU_H #include "pair_coul_cut.h" namespace LAMMPS_NS { class PairCoulCutGPU : public PairCoulCut { public: PairCoulCutGPU(LAMMPS *lmp); ~PairCoulCutGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); void reinit(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: E: Insufficient memory on accelerator There is insufficient memory on one of the devices specified for the gpu package E: Pair style lj/cut/coul/cut/gpu requires atom attribute q The atom style defined does not have this attribute. E: Cannot use newton pair with lj/cut/coul/cut/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_coul_debye_gpu.h b/src/GPU/pair_coul_debye_gpu.h index d8071b3af..7c77303dc 100644 --- a/src/GPU/pair_coul_debye_gpu.h +++ b/src/GPU/pair_coul_debye_gpu.h @@ -1,63 +1,63 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(coul/debye/gpu,PairCoulDebyeGPU) #else #ifndef LMP_PAIR_COUL_DEBYE_GPU_H #define LMP_PAIR_COUL_DEBYE_GPU_H #include "pair_coul_debye.h" namespace LAMMPS_NS { class PairCoulDebyeGPU : public PairCoulDebye { public: PairCoulDebyeGPU(LAMMPS *lmp); ~PairCoulDebyeGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); void reinit(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: E: Insufficient memory on accelerator There is insufficient memory on one of the devices specified for the gpu package E: Pair style lj/cut/coul/debye/gpu requires atom attribute q The atom style defined does not have this attribute. E: Cannot use newton pair with lj/cut/coul/debye/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_coul_dsf_gpu.h b/src/GPU/pair_coul_dsf_gpu.h index 6b873823b..526b30a5c 100644 --- a/src/GPU/pair_coul_dsf_gpu.h +++ b/src/GPU/pair_coul_dsf_gpu.h @@ -1,62 +1,62 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(coul/dsf/gpu,PairCoulDSFGPU) #else #ifndef LMP_PAIR_COUL_DSF_GPU_H #define LMP_PAIR_COUL_DSF_GPU_H #include "pair_coul_dsf.h" namespace LAMMPS_NS { class PairCoulDSFGPU : public PairCoulDSF { public: PairCoulDSFGPU(LAMMPS *lmp); ~PairCoulDSFGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: E: Insufficient memory on accelerator There is insufficient memory on one of the devices specified for the gpu package E: Pair style coul/dsf/gpu requires atom attribute q The atom style defined does not have this attribute. E: Cannot use newton pair with coul/dsf/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_coul_long_gpu.h b/src/GPU/pair_coul_long_gpu.h index d67c20581..dc58cb07d 100644 --- a/src/GPU/pair_coul_long_gpu.h +++ b/src/GPU/pair_coul_long_gpu.h @@ -1,68 +1,68 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(coul/long/gpu,PairCoulLongGPU) #else #ifndef LMP_PAIR_COUL_LONG_GPU_H #define LMP_PAIR_COUL_LONG_GPU_H #include "pair_coul_long.h" namespace LAMMPS_NS { class PairCoulLongGPU : public PairCoulLong { public: PairCoulLongGPU(LAMMPS *lmp); ~PairCoulLongGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); void reinit(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: E: Insufficient memory on accelerator There is insufficient memory on one of the devices specified for the gpu package E: Pair style coul/long/gpu requires atom attribute q The atom style defined does not have these attributes. E: Cannot use newton pair with coul/long/gpu pair style Self-explanatory. E: Pair style is incompatible with KSpace style If a pair style with a long-range Coulombic component is selected, then a kspace style must also be used. */ diff --git a/src/GPU/pair_dpd_gpu.h b/src/GPU/pair_dpd_gpu.h index cfe26f830..8dd66b4eb 100644 --- a/src/GPU/pair_dpd_gpu.h +++ b/src/GPU/pair_dpd_gpu.h @@ -1,58 +1,58 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(dpd/gpu,PairDPDGPU) #else #ifndef LMP_PAIR_DPD_GPU_H #define LMP_PAIR_DPD_GPU_H #include "pair_dpd.h" namespace LAMMPS_NS { class PairDPDGPU : public PairDPD { public: PairDPDGPU(LAMMPS *lmp); ~PairDPDGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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 Self-explanatory. */ diff --git a/src/GPU/pair_dpd_tstat_gpu.h b/src/GPU/pair_dpd_tstat_gpu.h index 2217b509d..606959417 100644 --- a/src/GPU/pair_dpd_tstat_gpu.h +++ b/src/GPU/pair_dpd_tstat_gpu.h @@ -1,58 +1,58 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(dpd/tstat/gpu,PairDPDTstatGPU) #else #ifndef LMP_PAIR_DPD_TSTAT_GPU_H #define LMP_PAIR_DPD_TSTAT_GPU_H #include "pair_dpd_tstat.h" namespace LAMMPS_NS { class PairDPDTstatGPU : public PairDPDTstat { public: PairDPDTstatGPU(LAMMPS *lmp); ~PairDPDTstatGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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 Self-explanatory. */ diff --git a/src/GPU/pair_eam_alloy_gpu.h b/src/GPU/pair_eam_alloy_gpu.h index 6c3263173..9513cab83 100644 --- a/src/GPU/pair_eam_alloy_gpu.h +++ b/src/GPU/pair_eam_alloy_gpu.h @@ -1,63 +1,63 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(eam/alloy/gpu,PairEAMAlloyGPU) #else #ifndef LMP_PAIR_EAM_ALLOY_GPU_H #define LMP_PAIR_EAM_ALLOY_GPU_H #include "pair_eam_gpu.h" namespace LAMMPS_NS { class PairEAMAlloyGPU : public PairEAMGPU { public: PairEAMAlloyGPU(class LAMMPS *); virtual ~PairEAMAlloyGPU() {} void coeff(int, char **); protected: void read_file(char *); void file2array(); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args for pair coefficients Self-explanatory. Check the input script or data file. E: No matching element in EAM potential file The EAM potential file does not contain elements that match the requested elements. E: Cannot open EAM potential file %s The specified EAM potential file cannot be opened. Check that the path and name are correct. E: Incorrect element names in EAM potential file The element names in the EAM file do not match those requested. */ diff --git a/src/GPU/pair_eam_fs_gpu.h b/src/GPU/pair_eam_fs_gpu.h index 06aaa2c64..d61d398a8 100644 --- a/src/GPU/pair_eam_fs_gpu.h +++ b/src/GPU/pair_eam_fs_gpu.h @@ -1,63 +1,63 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(eam/fs/gpu,PairEAMFSGPU) #else #ifndef LMP_PAIR_EAM_FS_GPU_H #define LMP_PAIR_EAM_FS_GPU_H #include "pair_eam_gpu.h" namespace LAMMPS_NS { class PairEAMFSGPU : public PairEAMGPU { public: PairEAMFSGPU(class LAMMPS *); virtual ~PairEAMFSGPU() {} void coeff(int, char **); protected: void read_file(char *); void file2array(); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args for pair coefficients Self-explanatory. Check the input script or data file. E: No matching element in EAM potential file The EAM potential file does not contain elements that match the requested elements. E: Cannot open EAM potential file %s The specified EAM potential file cannot be opened. Check that the path and name are correct. E: Incorrect element names in EAM potential file The element names in the EAM file do not match those requested. */ diff --git a/src/GPU/pair_eam_gpu.h b/src/GPU/pair_eam_gpu.h index 2d9f9e1fd..ffdb79038 100644 --- a/src/GPU/pair_eam_gpu.h +++ b/src/GPU/pair_eam_gpu.h @@ -1,66 +1,66 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(eam/gpu,PairEAMGPU) #else #ifndef LMP_PAIR_EAM_GPU_H #define LMP_PAIR_EAM_GPU_H #include "stdio.h" #include "pair_eam.h" namespace LAMMPS_NS { class PairEAMGPU : public PairEAM { public: PairEAMGPU(class LAMMPS *); virtual ~PairEAMGPU(); void compute(int, int); void init_style(); double single(int, int, int, int, double, double, double, double &); double memory_usage(); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; protected: int gpu_mode; double cpu_time; void *fp_pinned; bool fp_single; }; } #endif #endif /* ERROR/WARNING messages: 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 eam/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_gauss_gpu.h b/src/GPU/pair_gauss_gpu.h index 9581afa09..d4ffae23c 100644 --- a/src/GPU/pair_gauss_gpu.h +++ b/src/GPU/pair_gauss_gpu.h @@ -1,59 +1,59 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(gauss/gpu,PairGaussGPU) #else #ifndef LMP_PAIR_GAUSS_GPU_H #define LMP_PAIR_GAUSS_GPU_H #include "pair_gauss.h" namespace LAMMPS_NS { class PairGaussGPU : public PairGauss { public: PairGaussGPU(LAMMPS *lmp); ~PairGaussGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); void reinit(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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 gauss/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_gayberne_gpu.h b/src/GPU/pair_gayberne_gpu.h index e6e7a7578..88197f06b 100644 --- a/src/GPU/pair_gayberne_gpu.h +++ b/src/GPU/pair_gayberne_gpu.h @@ -1,68 +1,68 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(gayberne/gpu,PairGayBerneGPU) #else #ifndef LMP_PAIR_GAYBERNE_GPU_H #define LMP_PAIR_GAYBERNE_GPU_H #include "pair_gayberne.h" namespace LAMMPS_NS { class PairGayBerneGPU : public PairGayBerne { public: PairGayBerneGPU(LAMMPS *lmp); ~PairGayBerneGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; int quat_nmax; double **quat; }; } #endif #endif /* ERROR/WARNING messages: E: Insufficient memory on accelerator There is insufficient memory on one of the devices specified for the gpu package E: Pair gayberne/gpu requires atom style ellipsoid Self-explanatory. E: Cannot use newton pair with gayberne/gpu pair style Self-explanatory. E: Pair gayberne/gpu requires atoms with same type have same shape Self-explanatory. */ diff --git a/src/GPU/pair_lj96_cut_gpu.h b/src/GPU/pair_lj96_cut_gpu.h index 55c183416..d0acbfe35 100644 --- a/src/GPU/pair_lj96_cut_gpu.h +++ b/src/GPU/pair_lj96_cut_gpu.h @@ -1,58 +1,58 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj96/cut/gpu,PairLJ96CutGPU) #else #ifndef LMP_PAIR_LJ_96_GPU_H #define LMP_PAIR_LJ_96_GPU_H #include "pair_lj96_cut.h" namespace LAMMPS_NS { class PairLJ96CutGPU : public PairLJ96Cut { public: PairLJ96CutGPU(LAMMPS *lmp); ~PairLJ96CutGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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 lj96/cut/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_lj_charmm_coul_long_gpu.h b/src/GPU/pair_lj_charmm_coul_long_gpu.h index f904c774e..8ec41bee9 100644 --- a/src/GPU/pair_lj_charmm_coul_long_gpu.h +++ b/src/GPU/pair_lj_charmm_coul_long_gpu.h @@ -1,67 +1,67 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/charmm/coul/long/gpu,PairLJCharmmCoulLongGPU) #else #ifndef LMP_PAIR_LJ_CHARMM_COUL_LONG_GPU_H #define LMP_PAIR_LJ_CHARMM_COUL_LONG_GPU_H #include "pair_lj_charmm_coul_long.h" namespace LAMMPS_NS { class PairLJCharmmCoulLongGPU : public PairLJCharmmCoulLong { public: PairLJCharmmCoulLongGPU(LAMMPS *lmp); ~PairLJCharmmCoulLongGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: E: Insufficient memory on accelerator There is insufficient memory on one of the devices specified for the gpu package E: Pair style lj/charmm/coul/long/gpu requires atom attribute q The atom style defined does not have this attribute. E: Cannot use newton pair with lj/charmm/coul/long/gpu pair style Self-explanatory. E: Pair style is incompatible with KSpace style If a pair style with a long-range Coulombic component is selected, then a kspace style must also be used. */ diff --git a/src/GPU/pair_lj_class2_coul_long_gpu.h b/src/GPU/pair_lj_class2_coul_long_gpu.h index 5f235ea1e..bee57cd3f 100644 --- a/src/GPU/pair_lj_class2_coul_long_gpu.h +++ b/src/GPU/pair_lj_class2_coul_long_gpu.h @@ -1,67 +1,67 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/class2/coul/long/gpu,PairLJClass2CoulLongGPU) #else #ifndef LMP_PAIR_LJ_CLASS2_COUL_LONG_GPU_H #define LMP_PAIR_LJ_CLASS2_COUL_LONG_GPU_H #include "pair_lj_class2_coul_long.h" namespace LAMMPS_NS { class PairLJClass2CoulLongGPU : public PairLJClass2CoulLong { public: PairLJClass2CoulLongGPU(LAMMPS *lmp); ~PairLJClass2CoulLongGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: E: Insufficient memory on accelerator There is insufficient memory on one of the devices specified for the gpu package E: Pair style lj/class2/coul/long/gpu requires atom attribute q The atom style defined does not have this attribute. E: Cannot use newton pair with lj/class2/coul/long/gpu pair style Self-explanatory. E: Pair style is incompatible with KSpace style If a pair style with a long-range Coulombic component is selected, then a kspace style must also be used. */ diff --git a/src/GPU/pair_lj_class2_gpu.h b/src/GPU/pair_lj_class2_gpu.h index 1f4cc74e3..470d15bc4 100644 --- a/src/GPU/pair_lj_class2_gpu.h +++ b/src/GPU/pair_lj_class2_gpu.h @@ -1,58 +1,58 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/class2/gpu,PairLJClass2GPU) #else #ifndef LMP_PAIR_LJ_CLASS2_GPU_H #define LMP_PAIR_LJ_CLASS2_GPU_H #include "pair_lj_class2.h" namespace LAMMPS_NS { class PairLJClass2GPU : public PairLJClass2 { public: PairLJClass2GPU(LAMMPS *lmp); ~PairLJClass2GPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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/class2/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_lj_cut_coul_cut_gpu.h b/src/GPU/pair_lj_cut_coul_cut_gpu.h index f0e71e3c7..97d661c83 100644 --- a/src/GPU/pair_lj_cut_coul_cut_gpu.h +++ b/src/GPU/pair_lj_cut_coul_cut_gpu.h @@ -1,62 +1,62 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/coul/cut/gpu,PairLJCutCoulCutGPU) #else #ifndef LMP_PAIR_LJ_CUT_COUL_CUT_GPU_H #define LMP_PAIR_LJ_CUT_COUL_CUT_GPU_H #include "pair_lj_cut_coul_cut.h" namespace LAMMPS_NS { class PairLJCutCoulCutGPU : public PairLJCutCoulCut { public: PairLJCutCoulCutGPU(LAMMPS *lmp); ~PairLJCutCoulCutGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: E: Insufficient memory on accelerator There is insufficient memory on one of the devices specified for the gpu package E: Pair style lj/cut/coul/cut/gpu requires atom attribute q The atom style defined does not have this attribute. E: Cannot use newton pair with lj/cut/coul/cut/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_lj_cut_coul_debye_gpu.h b/src/GPU/pair_lj_cut_coul_debye_gpu.h index 2f396974e..2c6f2bbbf 100644 --- a/src/GPU/pair_lj_cut_coul_debye_gpu.h +++ b/src/GPU/pair_lj_cut_coul_debye_gpu.h @@ -1,62 +1,62 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/coul/debye/gpu,PairLJCutCoulDebyeGPU) #else #ifndef LMP_PAIR_LJ_CUT_COUL_DEBYE_GPU_H #define LMP_PAIR_LJ_CUT_COUL_DEBYE_GPU_H #include "pair_lj_cut_coul_debye.h" namespace LAMMPS_NS { class PairLJCutCoulDebyeGPU : public PairLJCutCoulDebye { public: PairLJCutCoulDebyeGPU(LAMMPS *lmp); ~PairLJCutCoulDebyeGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: E: Insufficient memory on accelerator There is insufficient memory on one of the devices specified for the gpu package E: Pair style lj/cut/coul/debye/gpu requires atom attribute q The atom style defined does not have this attribute. E: Cannot use newton pair with lj/cut/coul/debye/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_lj_cut_coul_dsf_gpu.h b/src/GPU/pair_lj_cut_coul_dsf_gpu.h index c52f8c810..93cc5f6f3 100644 --- a/src/GPU/pair_lj_cut_coul_dsf_gpu.h +++ b/src/GPU/pair_lj_cut_coul_dsf_gpu.h @@ -1,62 +1,62 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/coul/dsf/gpu,PairLJCutCoulDSFGPU) #else #ifndef LMP_PAIR_LJ_CUT_COUL_DSF_GPU_H #define LMP_PAIR_LJ_CUT_COUL_DSF_GPU_H #include "pair_lj_cut_coul_dsf.h" namespace LAMMPS_NS { class PairLJCutCoulDSFGPU : public PairLJCutCoulDSF { public: PairLJCutCoulDSFGPU(LAMMPS *lmp); ~PairLJCutCoulDSFGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: E: Insufficient memory on accelerator There is insufficient memory on one of the devices specified for the gpu package E: Pair style lj/cut/coul/dsf/gpu requires atom attribute q The atom style defined does not have this attribute. E: Cannot use newton pair with lj/cut/coul/dsf/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_lj_cut_coul_long_gpu.h b/src/GPU/pair_lj_cut_coul_long_gpu.h index 760c1a8ba..34b2a0e09 100644 --- a/src/GPU/pair_lj_cut_coul_long_gpu.h +++ b/src/GPU/pair_lj_cut_coul_long_gpu.h @@ -1,67 +1,67 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/coul/long/gpu,PairLJCutCoulLongGPU) #else #ifndef LMP_PAIR_LJ_CUT_COUL_LONG_GPU_H #define LMP_PAIR_LJ_CUT_COUL_LONG_GPU_H #include "pair_lj_cut_coul_long.h" namespace LAMMPS_NS { class PairLJCutCoulLongGPU : public PairLJCutCoulLong { public: PairLJCutCoulLongGPU(LAMMPS *lmp); ~PairLJCutCoulLongGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: E: Insufficient memory on accelerator There is insufficient memory on one of the devices specified for the gpu package E: Pair style lj/cut/coul/long/gpu requires atom attribute q The atom style defined does not have this attribute. E: Cannot use newton pair with lj/cut/coul/long/gpu pair style Self-explanatory. E: Pair style is incompatible with KSpace style If a pair style with a long-range Coulombic component is selected, then a kspace style must also be used. */ diff --git a/src/GPU/pair_lj_cut_coul_msm_gpu.h b/src/GPU/pair_lj_cut_coul_msm_gpu.h index 2a601f6dd..88360e30d 100644 --- a/src/GPU/pair_lj_cut_coul_msm_gpu.h +++ b/src/GPU/pair_lj_cut_coul_msm_gpu.h @@ -1,62 +1,62 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/coul/msm/gpu,PairLJCutCoulMSMGPU) #else #ifndef LMP_PAIR_LJ_CUT_COUL_MSM_GPU_H #define LMP_PAIR_LJ_CUT_COUL_MSM_GPU_H #include "pair_lj_cut_coul_msm.h" namespace LAMMPS_NS { class PairLJCutCoulMSMGPU : public PairLJCutCoulMSM { public: PairLJCutCoulMSMGPU(LAMMPS *lmp); ~PairLJCutCoulMSMGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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/coul/msm/gpu pair style Self-explanatory. E: Must use 'kspace_modify pressure/scalar no' with GPU MSM Pair styles The kspace scalar pressure option is not (yet) compatible with GPU MSM Pair styles. */ diff --git a/src/GPU/pair_lj_cut_dipole_cut_gpu.h b/src/GPU/pair_lj_cut_dipole_cut_gpu.h index 70612a20e..687c15821 100755 --- a/src/GPU/pair_lj_cut_dipole_cut_gpu.h +++ b/src/GPU/pair_lj_cut_dipole_cut_gpu.h @@ -1,66 +1,66 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/dipole/cut/gpu,PairLJCutDipoleCutGPU) #else #ifndef LMP_PAIR_LJ_CUT_DIPOLE_CUT_GPU_H #define LMP_PAIR_LJ_CUT_DIPOLE_CUT_GPU_H #include "pair_lj_cut_dipole_cut.h" namespace LAMMPS_NS { class PairLJCutDipoleCutGPU : public PairLJCutDipoleCut { public: PairLJCutDipoleCutGPU(LAMMPS *lmp); ~PairLJCutDipoleCutGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: E: Insufficient memory on accelerator There is insufficient memory on one of the devices specified for the gpu package E: Pair dipole/cut/gpu requires atom attributes q, mu, torque The atom style defined does not have this attribute. E: Cannot use newton pair with dipole/cut/gpu pair style Self-explanatory. E: Cannot (yet) use 'electron' units with dipoles This feature is not yet supported. */ diff --git a/src/GPU/pair_lj_cut_gpu.h b/src/GPU/pair_lj_cut_gpu.h index 4b54479b5..d0587d0a4 100644 --- a/src/GPU/pair_lj_cut_gpu.h +++ b/src/GPU/pair_lj_cut_gpu.h @@ -1,59 +1,59 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/gpu,PairLJCutGPU) #else #ifndef LMP_PAIR_LJ_LIGHT_GPU_H #define LMP_PAIR_LJ_LIGHT_GPU_H #include "pair_lj_cut.h" namespace LAMMPS_NS { class PairLJCutGPU : public PairLJCut { public: PairLJCutGPU(LAMMPS *lmp); ~PairLJCutGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); void reinit(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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 Self-explanatory. */ diff --git a/src/GPU/pair_lj_expand_gpu.h b/src/GPU/pair_lj_expand_gpu.h index c56b1e45c..f031fe5f6 100644 --- a/src/GPU/pair_lj_expand_gpu.h +++ b/src/GPU/pair_lj_expand_gpu.h @@ -1,59 +1,59 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/expand/gpu,PairLJExpandGPU) #else #ifndef LMP_PAIR_LJE_LIGHT_GPU_H #define LMP_PAIR_LJE_LIGHT_GPU_H #include "pair_lj_expand.h" namespace LAMMPS_NS { class PairLJExpandGPU : public PairLJExpand { public: PairLJExpandGPU(LAMMPS *lmp); ~PairLJExpandGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); void reinit(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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/expand/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_lj_gromacs_gpu.h b/src/GPU/pair_lj_gromacs_gpu.h index 9eca2c886..f27d521b2 100644 --- a/src/GPU/pair_lj_gromacs_gpu.h +++ b/src/GPU/pair_lj_gromacs_gpu.h @@ -1,58 +1,58 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/gromacs/gpu,PairLJGromacsGPU) #else #ifndef LMP_PAIR_LJ_GROMACS_GPU_H #define LMP_PAIR_LJ_GROMACS_GPU_H #include "pair_lj_gromacs.h" namespace LAMMPS_NS { class PairLJGromacsGPU : public PairLJGromacs { public: PairLJGromacsGPU(LAMMPS *lmp); ~PairLJGromacsGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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/gromacs/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_lj_sf_dipole_sf_gpu.h b/src/GPU/pair_lj_sf_dipole_sf_gpu.h index ba37f9769..f29451f52 100755 --- a/src/GPU/pair_lj_sf_dipole_sf_gpu.h +++ b/src/GPU/pair_lj_sf_dipole_sf_gpu.h @@ -1,66 +1,66 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/sf/dipole/sf/gpu,PairLJSFDipoleSFGPU) #else #ifndef LMP_PAIR_LJ_SF_DIPOLE_SF_GPU_H #define LMP_PAIR_LJ_SF_DIPOLE_SF_GPU_H #include "pair_lj_sf_dipole_sf.h" namespace LAMMPS_NS { class PairLJSFDipoleSFGPU : public PairLJSFDipoleSF { public: PairLJSFDipoleSFGPU(LAMMPS *lmp); ~PairLJSFDipoleSFGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: E: Insufficient memory on accelerator There is insufficient memory on one of the devices specified for the gpu package E: Pair style dipole/cut/gpu requires atom attribute q The atom style defined does not have this attribute. E: Cannot use newton pair with dipole/cut/gpu pair style Self-explanatory. E: Cannot (yet) use 'electron' units with dipoles This feature is not yet supported. */ diff --git a/src/GPU/pair_mie_cut_gpu.h b/src/GPU/pair_mie_cut_gpu.h index fc5223fb7..ed5a1d43d 100644 --- a/src/GPU/pair_mie_cut_gpu.h +++ b/src/GPU/pair_mie_cut_gpu.h @@ -1,58 +1,58 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(mie/cut/gpu,PairMIECutGPU) #else #ifndef LMP_PAIR_MIE_CUT_GPU_H #define LMP_PAIR_MIE_CUT_GPU_H #include "pair_mie_cut.h" namespace LAMMPS_NS { class PairMIECutGPU : public PairMIECut { public: PairMIECutGPU(LAMMPS *lmp); ~PairMIECutGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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 mie/cut/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_morse_gpu.h b/src/GPU/pair_morse_gpu.h index 5a5c2de89..23bfc431c 100644 --- a/src/GPU/pair_morse_gpu.h +++ b/src/GPU/pair_morse_gpu.h @@ -1,58 +1,58 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(morse/gpu,PairMorseGPU) #else #ifndef LMP_PAIR_MORSE_GPU_H #define LMP_PAIR_MORSE_GPU_H #include "pair_morse.h" namespace LAMMPS_NS { class PairMorseGPU : public PairMorse { public: PairMorseGPU(LAMMPS *lmp); ~PairMorseGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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 morse/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_resquared_gpu.h b/src/GPU/pair_resquared_gpu.h index 42e8dbc4f..ab87ff80b 100644 --- a/src/GPU/pair_resquared_gpu.h +++ b/src/GPU/pair_resquared_gpu.h @@ -1,68 +1,68 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(resquared/gpu,PairRESquaredGPU) #else #ifndef LMP_PAIR_RESQUARED_GPU_H #define LMP_PAIR_RESQUARED_GPU_H #include "pair_resquared.h" namespace LAMMPS_NS { class PairRESquaredGPU : public PairRESquared { public: PairRESquaredGPU(LAMMPS *lmp); ~PairRESquaredGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; int quat_nmax; double **quat; }; } #endif #endif /* ERROR/WARNING messages: E: Pair resquared/gpu requires atom style ellipsoid Self-explanatory. 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 resquared/gpu pair style Self-explanatory. E: Pair resquared/gpu requires atoms with same type have same shape Self-explanatory. */ diff --git a/src/GPU/pair_soft_gpu.h b/src/GPU/pair_soft_gpu.h index 8f1032739..da14c292a 100644 --- a/src/GPU/pair_soft_gpu.h +++ b/src/GPU/pair_soft_gpu.h @@ -1,59 +1,59 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(soft/gpu,PairSoftGPU) #else #ifndef LMP_PAIR_SOFT_GPU_H #define LMP_PAIR_SOFT_GPU_H #include "pair_soft.h" namespace LAMMPS_NS { class PairSoftGPU : public PairSoft { public: PairSoftGPU(LAMMPS *lmp); ~PairSoftGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); void reinit(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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 soft/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_sw_gpu.h b/src/GPU/pair_sw_gpu.h index 559c4f70c..95417386d 100644 --- a/src/GPU/pair_sw_gpu.h +++ b/src/GPU/pair_sw_gpu.h @@ -1,69 +1,69 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(sw/gpu,PairSWGPU) #else #ifndef LMP_PAIR_SW_GPU_H #define LMP_PAIR_SW_GPU_H #include "pair_sw.h" namespace LAMMPS_NS { class PairSWGPU : public PairSW { public: PairSWGPU(class LAMMPS *); ~PairSWGPU(); void compute(int, int); double init_one(int, int); void init_style(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; protected: void allocate(); int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: E: Insufficient memory on accelerator There is insufficient memory on one of the devices specified for the gpu package E: Pair style sw/gpu requires atom IDs This is a requirement to use this potential. E: Pair style sw/gpu requires newton pair off See the newton command. This is a restriction to use this potential. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. */ diff --git a/src/GPU/pair_table_gpu.h b/src/GPU/pair_table_gpu.h index 11ce514cb..33cfa8126 100644 --- a/src/GPU/pair_table_gpu.h +++ b/src/GPU/pair_table_gpu.h @@ -1,66 +1,66 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(table/gpu,PairTableGPU) #else #ifndef LMP_PAIR_TABLE_GPU_H #define LMP_PAIR_TABLE_GPU_H #include "pair_table.h" namespace LAMMPS_NS { class PairTableGPU : public PairTable { public: PairTableGPU(LAMMPS *lmp); ~PairTableGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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 table/gpu pair style Self-explanatory. E: Pair distance < table inner cutoff Two atoms are closer together than the pairwise table allows. E: Pair distance > table outer cutoff Two atoms are further apart than the pairwise table allows. */ diff --git a/src/GPU/pair_yukawa_colloid_gpu.h b/src/GPU/pair_yukawa_colloid_gpu.h index cea1c8e0d..7366770e2 100644 --- a/src/GPU/pair_yukawa_colloid_gpu.h +++ b/src/GPU/pair_yukawa_colloid_gpu.h @@ -1,62 +1,62 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(yukawa/colloid/gpu,PairYukawaColloidGPU) #else #ifndef LMP_PAIR_YUKAWA_COLLOID_GPU_H #define LMP_PAIR_YUKAWA_COLLOID_GPU_H #include "pair_yukawa_colloid.h" namespace LAMMPS_NS { class PairYukawaColloidGPU : public PairYukawaColloid { public: PairYukawaColloidGPU(LAMMPS *lmp); ~PairYukawaColloidGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: E: Insufficient memory on accelerator There is insufficient memory on one of the devices specified for the gpu package E: Pair yukawa/colloid/gpu requires atom style sphere Self-explanatory. E: Cannot use newton pair with yukawa/colloid/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pair_yukawa_gpu.h b/src/GPU/pair_yukawa_gpu.h index bdf87a78b..8210fe582 100644 --- a/src/GPU/pair_yukawa_gpu.h +++ b/src/GPU/pair_yukawa_gpu.h @@ -1,58 +1,58 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(yukawa/gpu,PairYukawaGPU) #else #ifndef LMP_PAIR_YUKAWA_GPU_H #define LMP_PAIR_YUKAWA_GPU_H #include "pair_yukawa.h" namespace LAMMPS_NS { class PairYukawaGPU : public PairYukawa { public: PairYukawaGPU(LAMMPS *lmp); ~PairYukawaGPU(); void cpu_compute(int, int, int, int, int *, int *, int **); void compute(int, int); void init_style(); double memory_usage(); enum { GPU_FORCE, GPU_NEIGH, GPU_HYB_NEIGH }; private: int gpu_mode; double cpu_time; }; } #endif #endif /* ERROR/WARNING messages: 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 yukawa/gpu pair style Self-explanatory. */ diff --git a/src/GPU/pppm_gpu.h b/src/GPU/pppm_gpu.h index c6a3f45e7..3a9b53748 100644 --- a/src/GPU/pppm_gpu.h +++ b/src/GPU/pppm_gpu.h @@ -1,103 +1,103 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef KSPACE_CLASS KSpaceStyle(pppm/gpu,PPPMGPU) #else #ifndef LMP_PPPM_GPU_H #define LMP_PPPM_GPU_H #include "pppm.h" namespace LAMMPS_NS { class PPPMGPU : public PPPM { public: PPPMGPU(class LAMMPS *, int, char **); virtual ~PPPMGPU(); void init(); void setup(); void compute(int, int); int timing_1d(int, double &); int timing_3d(int, double &); double memory_usage(); protected: FFT_SCALAR ***density_brick_gpu, ***vd_brick; bool kspace_split, im_real_space; int old_nlocal; double poisson_time; void brick2fft(); virtual void poisson_ik(); void pack_forward(int, FFT_SCALAR *, int, int *); void unpack_forward(int, FFT_SCALAR *, int, int *); void pack_reverse(int, FFT_SCALAR *, int, int *); void unpack_reverse(int, FFT_SCALAR *, int, int *); FFT_SCALAR ***create_3d_offset(int, int, int, int, int, int, const char *, FFT_SCALAR *, int); void destroy_3d_offset(FFT_SCALAR ***, int, int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot currently use pppm/gpu with fix balance. Self-explanatory. E: Cannot (yet) do analytic differentiation with pppm/gpu This is a current restriction of this command. E: Cannot use order greater than 8 with pppm/gpu. Self-explanatory. E: Insufficient memory on accelerator There is insufficient memory on one of the devices specified for the gpu package E: Out of range atoms - cannot compute PPPM 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 "neighbor skin distance"_neighbor.html without neighbor lists being rebuilt and atoms being migrated to new processors. This also means you may be missing pairwise interactions that need to be computed. The solution is to change the re-neighboring criteria via the "neigh_modify"_neigh_modify command. The safest settings are "delay 0 every 1 check yes". Second, it may mean that an atom has moved far 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. */ diff --git a/src/GRANULAR/fix_freeze.h b/src/GRANULAR/fix_freeze.h index f6667632d..52badc3e1 100644 --- a/src/GRANULAR/fix_freeze.h +++ b/src/GRANULAR/fix_freeze.h @@ -1,64 +1,64 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(freeze,FixFreeze) #else #ifndef LMP_FIX_FREEZE_H #define LMP_FIX_FREEZE_H #include "fix.h" namespace LAMMPS_NS { class FixFreeze : public Fix { public: FixFreeze(class LAMMPS *, int, char **); int setmask(); void init(); void setup(int); void post_force(int); void post_force_respa(int, int, int); double compute_vector(int); private: int force_flag; double foriginal[3],foriginal_all[3]; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 freeze requires atom attribute torque The atom style defined does not have this attribute. E: More than one fix freeze Only one of these fixes can be defined, since the granular pair potentials access it. */ diff --git a/src/GRANULAR/fix_pour.h b/src/GRANULAR/fix_pour.h index fbe2e5ad0..4f681e02b 100644 --- a/src/GRANULAR/fix_pour.h +++ b/src/GRANULAR/fix_pour.h @@ -1,235 +1,235 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(pour,FixPour) #else #ifndef LMP_FIX_POUR_H #define LMP_FIX_POUR_H #include "fix.h" namespace LAMMPS_NS { class FixPour : public Fix { public: FixPour(class LAMMPS *, int, char **); ~FixPour(); int setmask(); void init(); void pre_exchange(); void reset_dt(); void *extract(const char *, int &); private: int ninsert,ntype,seed; int iregion,mode,idnext,dstyle,npoly,rigidflag,shakeflag; double radius_one,radius_max; double radius_lo,radius_hi; double *radius_poly,*frac_poly; double density_lo,density_hi; double volfrac; int maxattempt; int region_style; double rate; double vxlo,vxhi,vylo,vyhi,vy,vz; double xlo,xhi,ylo,yhi,zlo,zhi; double xc,yc,rc; double grav; char *idrigid,*idshake; class Molecule **onemols; int nmol,natom_max; double molradius_max; double *molfrac; double **coords; imageint *imageflags; class Fix *fixrigid,*fixshake; double oneradius; int me,nprocs; int *recvcounts,*displs; int nfreq,nfirst,ninserted,nper; double lo_current,hi_current; tagint maxtag_all,maxmol_all; class RanPark *random,*random2; void find_maxid(); int overlap(int); int outside(int, double, double, double); void xyz_random(double, double *); double radius_sample(); void options(int, char **); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 pour requires atom attributes radius, rmass The atom style defined does not have these attributes. E: Invalid atom type in fix pour command Self-explanatory. E: Must specify a region in fix pour Self-explanatory. E: Fix pour region does not support a bounding box Not all regions represent bounded volumes. You cannot use such a region with the fix pour command. E: Fix pour region cannot be dynamic Only static regions can be used with fix pour. E: Insertion region extends outside simulation box Self-explanatory. E: Must use a z-axis cylinder region with fix pour Self-explanatory. E: Must use a block or cylinder region with fix pour Self-explanatory. E: Must use a block region with fix pour for 2d simulations Self-explanatory. E: Cannot use fix_pour unless atoms have IDs Self-explanatory. E: Fix pour molecule must have coordinates The defined molecule does not specify coordinates. E: Fix pour molecule must have atom types The defined molecule does not specify atom types. E: Invalid atom type in fix pour mol command The atom types in the defined molecule are added to the value specified in the create_atoms command, as an offset. The final value for each atom must be between 1 to N, where N is the number of atom types. E: Fix pour molecule template ID must be same as atom style template ID When using atom_style template, you cannot pour molecules that are not in that template. E: Cannot use fix pour rigid and not molecule Self-explanatory. E: Cannot use fix pour shake and not molecule Self-explanatory. E: Cannot use fix pour rigid and shake These two attributes are conflicting. E: No fix gravity defined for fix pour Gravity is required to use fix pour. E: Cannot use fix pour with triclinic box This option is not yet supported. E: Gravity must point in -z to use with fix pour in 3d Self-explanatory. E: Gravity must point in -y to use with fix pour in 2d Self-explanatory. E: Gravity changed since fix pour was created The gravity vector defined by fix gravity must be static. E: Fix pour rigid fix does not exist Self-explanatory. E: Fix pour and fix rigid/small not using same molecule template ID Self-explanatory. E: Fix pour shake fix does not exist Self-explanatory. E: Fix pour and fix shake not using same molecule template ID Self-explanatory. W: Less insertions than requested The fix pour command was unsuccessful at finding open space for as many particles as it tried to insert. E: Too many total atoms See the setting for bigint in the src/lmptype.h file. E: New atom IDs exceed maximum allowed ID See the setting for tagint in the src/lmptype.h file. E: Fix pour region ID does not exist Self-explanatory. E: Molecule template ID for fix pour does not exist Self-explanatory. W: Molecule template for fix pour has multiple molecules The fix pour command will only create molecules of a single type, i.e. the first molecule in the template. E: Fix pour polydisperse fractions do not sum to 1.0 Self-explanatory. E: Cannot change timestep with fix pour This is because fix pour pre-computes the time delay for particles to fall out of the insertion volume due to gravity. */ diff --git a/src/GRANULAR/fix_wall_gran.h b/src/GRANULAR/fix_wall_gran.h index eb6e9a307..de338e14c 100644 --- a/src/GRANULAR/fix_wall_gran.h +++ b/src/GRANULAR/fix_wall_gran.h @@ -1,110 +1,110 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(wall/gran,FixWallGran) #else #ifndef LMP_FIX_WALL_GRAN_H #define LMP_FIX_WALL_GRAN_H #include "fix.h" namespace LAMMPS_NS { class FixWallGran : public Fix { public: FixWallGran(class LAMMPS *, int, char **); virtual ~FixWallGran(); int setmask(); void init(); void setup(int); virtual void post_force(int); virtual void post_force_respa(int, int, int); double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); void set_arrays(int); int pack_exchange(int, double *); int unpack_exchange(int, double *); int pack_restart(int, double *); void unpack_restart(int, int); int size_restart(int); int maxsize_restart(); void reset_dt(); protected: int wallstyle,pairstyle,wiggle,wshear,axis; double kn,kt,gamman,gammat,xmu; double lo,hi,cylradius; double amplitude,period,omega,vshear; double dt; int nlevels_respa; int time_origin; int *touch; double **shear; int shearupdate; void hooke(double, double, double, double, double *, double *, double *, double *, double *, double, double); void hooke_history(double, double, double, double, double *, double *, double *, double *, double *, double, double, double *); void hertz_history(double, double, double, double, double *, double *, double *, double *, double *, double, double, double *); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 wall/gran requires atom style sphere Self-explanatory. E: Cannot use wall in periodic dimension Self-explanatory. E: Cannot wiggle and shear fix wall/gran Cannot specify both options at the same time. E: Invalid wiggle direction for fix wall/gran Self-explanatory. E: Invalid shear direction for fix wall/gran Self-explanatory. E: Fix wall/gran is incompatible with Pair style Must use a granular pair style to define the parameters needed for this fix. */ diff --git a/src/GRANULAR/pair_gran_hertz_history.h b/src/GRANULAR/pair_gran_hertz_history.h index b5eacb643..6d6b7a1fe 100644 --- a/src/GRANULAR/pair_gran_hertz_history.h +++ b/src/GRANULAR/pair_gran_hertz_history.h @@ -1,48 +1,48 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(gran/hertz/history,PairGranHertzHistory) #else #ifndef LMP_PAIR_GRAN_HERTZ_HISTORY_H #define LMP_PAIR_GRAN_HERTZ_HISTORY_H #include "pair_gran_hooke_history.h" namespace LAMMPS_NS { class PairGranHertzHistory : public PairGranHookeHistory { public: PairGranHertzHistory(class LAMMPS *); virtual void compute(int, int); void settings(int, char **); double single(int, int, int, int, double, double, double, double &); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/GRANULAR/pair_gran_hooke.h b/src/GRANULAR/pair_gran_hooke.h index d8a63b980..023438387 100644 --- a/src/GRANULAR/pair_gran_hooke.h +++ b/src/GRANULAR/pair_gran_hooke.h @@ -1,37 +1,37 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(gran/hooke,PairGranHooke) #else #ifndef LMP_PAIR_GRAN_HOOKE_H #define LMP_PAIR_GRAN_HOOKE_H #include "pair_gran_hooke_history.h" namespace LAMMPS_NS { class PairGranHooke : public PairGranHookeHistory { public: PairGranHooke(class LAMMPS *); virtual void compute(int, int); double single(int, int, int, int, double, double, double, double &); }; } #endif #endif diff --git a/src/GRANULAR/pair_gran_hooke_history.h b/src/GRANULAR/pair_gran_hooke_history.h index 25762ca65..c9f85de70 100644 --- a/src/GRANULAR/pair_gran_hooke_history.h +++ b/src/GRANULAR/pair_gran_hooke_history.h @@ -1,102 +1,102 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(gran/hooke/history,PairGranHookeHistory) #else #ifndef LMP_PAIR_GRAN_HOOKE_HISTORY_H #define LMP_PAIR_GRAN_HOOKE_HISTORY_H #include "pair.h" namespace LAMMPS_NS { class PairGranHookeHistory : public Pair { public: int computeflag; PairGranHookeHistory(class LAMMPS *); virtual ~PairGranHookeHistory(); virtual void compute(int, int); virtual void settings(int, char **); void coeff(int, char **); void init_style(); void init_list(int, class NeighList *); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); void reset_dt(); virtual double single(int, int, int, int, double, double, double, double &); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); void *extract(const char *, int &); double memory_usage(); protected: double kn,kt,gamman,gammat,xmu; int dampflag; double dt; int freeze_group_bit; int history; int neighprev; double *onerad_dynamic,*onerad_frozen; double *maxrad_dynamic,*maxrad_frozen; class FixShearHistory *fix_history; // storage of rigid body masses for use in granular interactions class Fix *fix_rigid; // ptr to rigid body fix, NULL if none double *mass_rigid; // rigid mass for owned+ghost atoms int nmax; // allocated size of mass_rigid void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair granular requires atom style sphere Self-explanatory. E: Pair granular requires ghost atoms store velocity Use the comm_modify vel yes command to enable this. E: Pair granular with shear history requires newton pair off This is a current restriction of the implementation of pair granular styles with history. */ diff --git a/src/KIM/pair_kim.h b/src/KIM/pair_kim.h index c23d1bece..0ee748f4a 100644 --- a/src/KIM/pair_kim.h +++ b/src/KIM/pair_kim.h @@ -1,215 +1,215 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- Contributing authors: Ryan S. Elliott, Valeriu Smirichinski, Ellad Tadmor (U Minn) ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- Designed for use with the openkim-api-v1.5.0 package and for use with the kim-api-v1.6.0 (and newer) package ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(kim,PairKIM) #else #ifndef LMP_PAIR_KIM_H #define LMP_PAIR_KIM_H // includes from KIM & LAMMPS class KIM_API_model; #include "pair.h" namespace LAMMPS_NS { class PairKIM : public Pair { public: PairKIM(class LAMMPS*); ~PairKIM(); // LAMMPS Pair class virtual function prototypes virtual void compute(int, int); virtual void settings(int, char**); virtual void coeff(int, char**); virtual void init_style(); virtual double init_one(int, int); virtual int pack_reverse_comm(int, int, double*); virtual void unpack_reverse_comm(int, int*, double*); virtual double memory_usage(); private: // (nearly) all bool flags are not initialized in constructor, but set // explicitly in the indicated function. All other data members are // initialized in constructor // values set in settings() char* kim_modelname; // values set in coeff() // values set in allocate(), called by coeff() void allocate(); int* lmps_map_species_to_unique; // values set in coeff(), after calling allocate() char** lmps_unique_elements; // names of unique elements given // in pair_coeff command int lmps_num_unique_elements; // values set in set_lmps_flags(), called from init_style() bool lmps_using_newton; bool lmps_using_molecular; bool lmps_hybrid; // true if running with pair hybrid bool lmps_support_cluster; // true if running in mode compat. // with CLUSTER enum unit_sys {REAL, METAL, SI, CGS, ELECTRON}; unit_sys lmps_units; // values set in set_kim_model_has_flags(), called by kim_init() KIM_API_model* pkim; bool kim_model_has_energy; bool kim_model_has_forces; bool kim_model_has_particleEnergy; bool kim_model_has_particleVirial; // values set in kim_init(), after call to string_init(_) bool kim_init_ok; bool kim_model_using_half; bool kim_model_using_cluster; bool kim_model_using_Rij; int kim_ind_coordinates; int kim_ind_numberOfParticles; int kim_ind_numberContributingParticles; int kim_ind_numberOfSpecies; int kim_ind_particleSpecies; int kim_ind_get_neigh; int kim_ind_neighObject; int kim_ind_cutoff; int kim_ind_energy; int kim_ind_particleEnergy; int kim_ind_forces; int kim_ind_virial; int kim_ind_particleVirial; // values set in init_style(), after calling pkim->model_init() bool kim_model_init_ok; bool kim_particle_codes_ok; int *kim_particle_codes; // values set in set_statics(), called at end of kim_init(), // then again in set_volatiles(), called in compute() int lmps_local_tot_num_atoms; double kim_global_cutoff; // KIM Model cutoff value // values set in compute() int lmps_maxalloc; // max allocated memory value int* kim_particleSpecies; // array of KIM particle species double** lmps_force_tmp; // temp storage for f, when running in // hybrid mode needed to avoid reseting // f to zero in each object int* lmps_stripped_neigh_list; // neighbors of one atom, used when LAMMPS // is in molecular mode // values used in get_neigh() int kim_iterator_position; //get_neigh iterator current position double *Rij; // KIM specific helper functions void kim_error(int, const char *, int); void kim_init(); void kim_free(); void set_statics(); void set_volatiles(); void set_lmps_flags(); void set_kim_model_has_flags(); void write_descriptor(char** test_descriptor_string); // static methods used as callbacks from KIM static int get_neigh(void** kimmdl, int* mode, int* request, int* atom, int* numnei, int** nei1atom, double** pRij); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Unrecognized virial argument in pair_style command Only two options are supported: LAMMPSvirial and KIMvirial E: Incorrect args for pair coefficients Self-explanatory. Check the input script or data file. E: Invalid args for non-hybrid pair coefficients "NULL" is only supported in pair_coeff calls when using pair hybrid E: PairKIM only works with 3D problems This is a current limitation. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. E: KIM neighbor iterator exceeded range This should not happen. It likely indicates a bug in the KIM implementation of the interatomic potential where it is requesting neighbors incorrectly. E: LAMMPS unit_style lj not supported by KIM models Self-explanatory. Check the input script or data file. E: Unknown unit_style Self-explanatory. Check the input script or data file. W: KIM Model does not provide `energy'; Potential energy will be zero Self-explanatory. W: KIM Model does not provide `forces'; Forces will be zero Self-explanatory. W: KIM Model does not provide `particleEnergy'; energy per atom will be zero Self-explanatory. W: KIM Model does not provide `particleVirial'; virial per atom will be zero Self-explanatory. E: Test_descriptor_string already allocated This is an internal error. Contact the developers. */ diff --git a/src/KOKKOS/atom_kokkos.h b/src/KOKKOS/atom_kokkos.h index c1cf73cd2..5e7f53e34 100644 --- a/src/KOKKOS/atom_kokkos.h +++ b/src/KOKKOS/atom_kokkos.h @@ -1,107 +1,107 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #include "atom.h" #include "kokkos_type.h" #ifndef LMP_ATOM_KOKKOS_H #define LMP_ATOM_KOKKOS_H namespace LAMMPS_NS { class AtomKokkos : public Atom { public: DAT::tdual_tagint_1d k_tag; DAT::tdual_int_1d k_type, k_mask; DAT::tdual_imageint_1d k_image; DAT::tdual_x_array k_x; DAT::tdual_v_array k_v; DAT::tdual_f_array k_f; DAT::tdual_float_1d k_mass; DAT::tdual_float_1d k_q; DAT::tdual_tagint_1d k_molecule; DAT::tdual_int_2d k_nspecial; DAT::tdual_tagint_2d k_special; DAT::tdual_int_1d k_num_bond; DAT::tdual_int_2d k_bond_type; DAT::tdual_tagint_2d k_bond_atom; DAT::tdual_int_1d k_num_angle; DAT::tdual_int_2d k_angle_type; DAT::tdual_tagint_2d k_angle_atom1, k_angle_atom2, k_angle_atom3; DAT::tdual_int_1d k_num_dihedral; DAT::tdual_int_2d k_dihedral_type; DAT::tdual_tagint_2d k_dihedral_atom1, k_dihedral_atom2, k_dihedral_atom3, k_dihedral_atom4; DAT::tdual_int_1d k_num_improper; DAT::tdual_int_2d k_improper_type; DAT::tdual_tagint_2d k_improper_atom1, k_improper_atom2, k_improper_atom3, k_improper_atom4; AtomKokkos(class LAMMPS *); ~AtomKokkos(); virtual void allocate_type_arrays(); void sync(const ExecutionSpace space, unsigned int mask); void modified(const ExecutionSpace space, unsigned int mask); virtual void sort(); virtual void grow(unsigned int mask); virtual void deallocate_topology(); void sync_modify(ExecutionSpace, unsigned int, unsigned int); }; template class SortFunctor { typedef typename ViewType::device_type device_type; ViewType source; Kokkos::View dest; IndexView index; SortFunctor(ViewType src, typename Kokkos::Impl::enable_if::type ind):source(src),index(ind){ dest = Kokkos::View("",src.dimension_0()); } SortFunctor(ViewType src, typename Kokkos::Impl::enable_if::type ind):source(src),index(ind){ dest = Kokkos::View("",src.dimension_0(),src.dimension_1()); } SortFunctor(ViewType src, typename Kokkos::Impl::enable_if::type ind):source(src),index(ind){ dest = Kokkos::View("",src.dimension_0(),src.dimension_1(),src.dimension_2()); } SortFunctor(ViewType src, typename Kokkos::Impl::enable_if::type ind):source(src),index(ind){ dest = Kokkos::View("",src.dimension_0(),src.dimension_1(),src.dimension_2(),src.dimension_3()); } KOKKOS_INLINE_FUNCTION void operator()(const typename Kokkos::Impl::enable_if::type& i) { dest(i) = source(index(i)); } void operator()(const typename Kokkos::Impl::enable_if::type& i) { for(int j=0;j::type& i) { for(int j=0;j::type& i) { for(int j=0;j void forward_comm_device(int dummy); template void exchange_device(); template void borders_device(); protected: DAT::tdual_int_2d k_sendlist; DAT::tdual_xfloat_2d k_buf_send,k_buf_recv; DAT::tdual_int_1d k_exchange_sendlist,k_exchange_copylist,k_sendflag; DAT::tdual_int_1d k_count; //double *buf_send; // send buffer for all comm //double *buf_recv; // recv buffer for all comm void grow_send(int, int); void grow_recv(int); void grow_send_kokkos(int, int, ExecutionSpace space = Host); void grow_recv_kokkos(int, ExecutionSpace space = Host); void grow_list(int, int); void grow_swap(int); }; } #endif /* ERROR/WARNING messages: */ diff --git a/src/KOKKOS/domain_kokkos.h b/src/KOKKOS/domain_kokkos.h index 36e0aa4aa..3a1720a9b 100644 --- a/src/KOKKOS/domain_kokkos.h +++ b/src/KOKKOS/domain_kokkos.h @@ -1,38 +1,38 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_DOMAIN_KOKKOS_H #define LMP_DOMAIN_KOKKOS_H #include "domain.h" #include "kokkos_type.h" namespace LAMMPS_NS { class DomainKokkos : public Domain { public: class AtomKokkos *atomKK; DomainKokkos(class LAMMPS *); ~DomainKokkos() {} void init(); void pbc(); }; } #endif /* ERROR/WARNING messages: */ diff --git a/src/KOKKOS/fix_langevin_kokkos.h b/src/KOKKOS/fix_langevin_kokkos.h index 48a7d5ec5..7645e2c46 100644 --- a/src/KOKKOS/fix_langevin_kokkos.h +++ b/src/KOKKOS/fix_langevin_kokkos.h @@ -1,266 +1,266 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(langevin/kk,FixLangevinKokkos) FixStyle(langevin/kk/device,FixLangevinKokkos) FixStyle(langevin/kk/host,FixLangevinKokkos) #else #ifndef LMP_FIX_LANGEVIN_KOKKOS_H #define LMP_FIX_LANGEVIN_KOKKOS_H #include "fix_langevin.h" #include "kokkos_type.h" #include "Kokkos_Random.hpp" #include "comm_kokkos.h" namespace LAMMPS_NS { struct s_FSUM { double fx, fy, fz; KOKKOS_INLINE_FUNCTION s_FSUM() { fx = fy = fz = 0.0; } KOKKOS_INLINE_FUNCTION s_FSUM& operator+=(const s_FSUM &rhs){ fx += rhs.fx; fy += rhs.fy; fz += rhs.fz; return *this; } }; typedef s_FSUM FSUM; template class FixLangevinKokkos; template class FixLangevinKokkosPostForceFunctor; template class FixLangevinKokkosZeroForceFunctor; template class FixLangevinKokkosTallyEnergyFunctor; template class FixLangevinKokkos : public FixLangevin { public: FixLangevinKokkos(class LAMMPS *, int, char **); ~FixLangevinKokkos(); void cleanup_copy(); void init(); void post_force(int); void reset_dt(); void grow_arrays(int); void copy_arrays(int i, int j, int delflag); double compute_scalar(); void end_of_step(); template KOKKOS_INLINE_FUNCTION FSUM post_force_item(int) const; KOKKOS_INLINE_FUNCTION void zero_force_item(int) const; KOKKOS_INLINE_FUNCTION double compute_energy_item(int) const; private: class CommKokkos *commKK; class AtomKokkos *atomKK; double *rmass; typename ArrayTypes::tdual_double_2d k_franprev; typename ArrayTypes::t_double_2d d_franprev; HAT::t_double_2d h_franprev; typename ArrayTypes::tdual_double_2d k_flangevin; typename ArrayTypes::t_double_2d d_flangevin; HAT::t_double_2d h_flangevin; typename ArrayTypes::tdual_double_1d k_tforce; typename ArrayTypes::t_double_1d d_tforce; HAT::t_double_1d h_tforce; typename ArrayTypes::t_v_array v; typename ArrayTypes::t_f_array f; typename ArrayTypes::t_int_1d type; typename ArrayTypes::t_int_1d mask; typename ArrayTypes::tdual_double_1d k_gfactor1, k_gfactor2, k_ratio; typename ArrayTypes::t_double_1d d_gfactor1, d_gfactor2, d_ratio; HAT::t_double_1d h_gfactor1, h_gfactor2, h_ratio; typedef Kokkos::DualView tdual_double_1d_3n; tdual_double_1d_3n k_fsumall; typename tdual_double_1d_3n::t_dev d_fsumall; typename tdual_double_1d_3n::t_host h_fsumall; double boltz,dt,mvv2e,ftm2v,fran_prop_const; void compute_target(); Kokkos::Random_XorShift64_Pool rand_pool; typedef typename Kokkos::Random_XorShift64_Pool::generator_type rand_type; }; template struct FixLangevinKokkosPostForceFunctor { typedef DeviceType device_type; typedef FSUM value_type; FixLangevinKokkos c; FixLangevinKokkosPostForceFunctor(FixLangevinKokkos* c_ptr): c(*c_ptr) {} ~FixLangevinKokkosPostForceFunctor(){c.cleanup_copy();} KOKKOS_INLINE_FUNCTION void operator()(const int i) const { c.template post_force_item(i); } KOKKOS_INLINE_FUNCTION void operator()(const int i, value_type &fsum) const { fsum += c.template post_force_item(i); } KOKKOS_INLINE_FUNCTION static void init(volatile value_type &update) { update.fx = 0.0; update.fy = 0.0; update.fz = 0.0; } KOKKOS_INLINE_FUNCTION static void join(volatile value_type &update, const volatile value_type &source) { update.fx += source.fx; update.fy += source.fy; update.fz += source.fz; } }; template struct FixLangevinKokkosZeroForceFunctor { typedef DeviceType device_type ; FixLangevinKokkos c; FixLangevinKokkosZeroForceFunctor(FixLangevinKokkos* c_ptr): c(*c_ptr) {c.cleanup_copy();} KOKKOS_INLINE_FUNCTION void operator()(const int i) const { c.zero_force_item(i); } }; template struct FixLangevinKokkosTallyEnergyFunctor { typedef DeviceType device_type ; FixLangevinKokkos c; typedef double value_type; FixLangevinKokkosTallyEnergyFunctor(FixLangevinKokkos* c_ptr): c(*c_ptr) {c.cleanup_copy();} KOKKOS_INLINE_FUNCTION void operator()(const int i, value_type &energy) const { energy += c.compute_energy_item(i); } KOKKOS_INLINE_FUNCTION static void init(volatile value_type &update) { update = 0.0; } KOKKOS_INLINE_FUNCTION static void join(volatile value_type &update, const volatile value_type &source) { update += source; } }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 langevin period must be > 0.0 The time window for temperature relaxation must be > 0 E: Fix langevin omega requires atom style sphere Self-explanatory. E: Fix langevin angmom requires atom style ellipsoid Self-explanatory. E: Variable name for fix langevin does not exist Self-explanatory. E: Variable for fix langevin is invalid style It must be an equal-style variable. E: Fix langevin omega requires extended particles One of the particles has radius 0.0. E: Fix langevin angmom requires extended particles This fix option cannot be used with point paritlces. E: Cannot zero Langevin force of 0 atoms The group has zero atoms, so you cannot request its force be zeroed. E: Fix langevin variable returned negative temperature Self-explanatory. E: Could not find fix_modify temperature ID The compute ID for computing temperature does not exist. E: Fix_modify temperature ID does not compute temperature The compute ID assigned to the fix must compute temperature. W: Group for fix_modify temp != fix group The fix_modify command is specifying a temperature computation that computes a temperature on a different group of atoms than the fix itself operates on. This is probably not what you want to do. */ diff --git a/src/KOKKOS/fix_nve_kokkos.h b/src/KOKKOS/fix_nve_kokkos.h index bd9ec4d81..f228ff8db 100644 --- a/src/KOKKOS/fix_nve_kokkos.h +++ b/src/KOKKOS/fix_nve_kokkos.h @@ -1,110 +1,110 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nve/kk,FixNVEKokkos) FixStyle(nve/kk/device,FixNVEKokkos) FixStyle(nve/kk/host,FixNVEKokkos) #else #ifndef LMP_FIX_NVE_KOKKOS_H #define LMP_FIX_NVE_KOKKOS_H #include "fix_nve.h" #include "kokkos_type.h" namespace LAMMPS_NS { template class FixNVEKokkos; template class FixNVEKokkosInitialIntegrateFunctor; template class FixNVEKokkosFinalIntegrateFunctor; template class FixNVEKokkos : public FixNVE { public: FixNVEKokkos(class LAMMPS *, int, char **); ~FixNVEKokkos() {} void cleanup_copy(); void init(); void initial_integrate(int); void final_integrate(); KOKKOS_INLINE_FUNCTION void initial_integrate_item(int) const; KOKKOS_INLINE_FUNCTION void initial_integrate_rmass_item(int) const; KOKKOS_INLINE_FUNCTION void final_integrate_item(int) const; KOKKOS_INLINE_FUNCTION void final_integrate_rmass_item(int) const; private: class AtomKokkos *atomKK; typename ArrayTypes::t_x_array x; typename ArrayTypes::t_v_array v; typename ArrayTypes::t_f_array_const f; double *rmass; typename ArrayTypes::t_float_1d_randomread mass; typename ArrayTypes::t_int_1d type; typename ArrayTypes::t_int_1d mask; }; template struct FixNVEKokkosInitialIntegrateFunctor { typedef DeviceType device_type ; FixNVEKokkos c; FixNVEKokkosInitialIntegrateFunctor(FixNVEKokkos* c_ptr): c(*c_ptr) {c.cleanup_copy();}; KOKKOS_INLINE_FUNCTION void operator()(const int i) const { if (RMass) c.initial_integrate_rmass_item(i); else c.initial_integrate_item(i); } }; template struct FixNVEKokkosFinalIntegrateFunctor { typedef DeviceType device_type ; FixNVEKokkos c; FixNVEKokkosFinalIntegrateFunctor(FixNVEKokkos* c_ptr): c(*c_ptr) {c.cleanup_copy();}; KOKKOS_INLINE_FUNCTION void operator()(const int i) const { if (RMass) c.final_integrate_rmass_item(i); else c.final_integrate_item(i); } }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/KOKKOS/kokkos.h b/src/KOKKOS/kokkos.h index 84a87279f..a7e838f8a 100644 --- a/src/KOKKOS/kokkos.h +++ b/src/KOKKOS/kokkos.h @@ -1,42 +1,42 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef KOKKOS_LMP_H #define KOKKOS_LMP_H #include "pointers.h" #include "kokkos_type.h" namespace LAMMPS_NS { class KokkosLMP : protected Pointers { public: int kokkos_exists; int neighflag; int exchange_comm_classic; int forward_comm_classic; int exchange_comm_on_host; int forward_comm_on_host; int num_threads; int numa; KokkosLMP(class LAMMPS *, int, char **); ~KokkosLMP(); void accelerator(int, char **); int neigh_list_kokkos(int); int neigh_count(int); }; } #endif diff --git a/src/KOKKOS/kokkos_type.h b/src/KOKKOS/kokkos_type.h index 4d62ec747..ddf9ae3cc 100644 --- a/src/KOKKOS/kokkos_type.h +++ b/src/KOKKOS/kokkos_type.h @@ -1,668 +1,668 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_LMPTYPE_KOKKOS_H #define LMP_LMPTYPE_KOKKOS_H #include #include #include #include #define MAX_TYPES_STACKPARAMS 12 #define NeighClusterSize 8 #ifndef __CUDACC__ struct double2 { double x, y; }; struct float2 { float x, y; }; struct double4 { double x, y, z, w; }; struct float4 { float x, y, z, w; }; #endif // set LMPHostype and LMPDeviceType from Kokkos Default Types typedef Kokkos::DefaultExecutionSpace LMPDeviceType; typedef Kokkos::DefaultExecutionSpace::host_mirror_device_type LMPHostType; // set ExecutionSpace stuct with variable "space" template struct ExecutionSpaceFromDevice; template<> struct ExecutionSpaceFromDevice { static const LAMMPS_NS::ExecutionSpace space = LAMMPS_NS::Host; }; #ifdef KOKKOS_HAVE_CUDA template<> struct ExecutionSpaceFromDevice { static const LAMMPS_NS::ExecutionSpace space = LAMMPS_NS::Device; }; #endif // define precision // handle global precision, force, energy, positions, kspace separately #ifndef PRECISION #define PRECISION 2 #endif #if PRECISION==1 typedef float LMP_FLOAT; typedef float2 LMP_FLOAT2; typedef float4 LMP_FLOAT4; #else typedef double LMP_FLOAT; typedef double2 LMP_FLOAT2; typedef double4 LMP_FLOAT4; #endif #ifndef PREC_FORCE #define PREC_FORCE PRECISION #endif #if PREC_FORCE==1 typedef float F_FLOAT; typedef float2 F_FLOAT2; typedef float4 F_FLOAT4; #else typedef double F_FLOAT; typedef double2 F_FLOAT2; typedef double4 F_FLOAT4; #endif #ifndef PREC_ENERGY #define PREC_ENERGY PRECISION #endif #if PREC_ENERGY==1 typedef float E_FLOAT; typedef float2 E_FLOAT2; typedef float4 E_FLOAT4; #else typedef double E_FLOAT; typedef double2 E_FLOAT2; typedef double4 E_FLOAT4; #endif struct s_EV_FLOAT { E_FLOAT evdwl; E_FLOAT ecoul; E_FLOAT v[6]; KOKKOS_INLINE_FUNCTION s_EV_FLOAT() { evdwl = 0; ecoul = 0; v[0] = 0; v[1] = 0; v[2] = 0; v[3] = 0; v[4] = 0; v[5] = 0; } KOKKOS_INLINE_FUNCTION void operator+=(const s_EV_FLOAT &rhs) { evdwl += rhs.evdwl; ecoul += rhs.ecoul; v[0] += rhs.v[0]; v[1] += rhs.v[1]; v[2] += rhs.v[2]; v[3] += rhs.v[3]; v[4] += rhs.v[4]; v[5] += rhs.v[5]; } KOKKOS_INLINE_FUNCTION void operator+=(const volatile s_EV_FLOAT &rhs) volatile { evdwl += rhs.evdwl; ecoul += rhs.ecoul; v[0] += rhs.v[0]; v[1] += rhs.v[1]; v[2] += rhs.v[2]; v[3] += rhs.v[3]; v[4] += rhs.v[4]; v[5] += rhs.v[5]; } }; typedef struct s_EV_FLOAT EV_FLOAT; #ifndef PREC_POS #define PREC_POS PRECISION #endif #if PREC_POS==1 typedef float X_FLOAT; typedef float2 X_FLOAT2; typedef float4 X_FLOAT4; #else typedef double X_FLOAT; typedef double2 X_FLOAT2; typedef double4 X_FLOAT4; #endif #ifndef PREC_VELOCITIES #define PREC_VELOCITIES PRECISION #endif #if PREC_VELOCITIES==1 typedef float V_FLOAT; typedef float2 V_FLOAT2; typedef float4 V_FLOAT4; #else typedef double V_FLOAT; typedef double2 V_FLOAT2; typedef double4 V_FLOAT4; #endif #if PREC_KSPACE==1 typedef float K_FLOAT; typedef float2 K_FLOAT2; typedef float4 K_FLOAT4; #else typedef double K_FLOAT; typedef double2 K_FLOAT2; typedef double4 K_FLOAT4; #endif // ------------------------------------------------------------------------ // LAMMPS types template struct ArrayTypes; template <> struct ArrayTypes { // scalar types typedef Kokkos:: DualView tdual_int_scalar; typedef tdual_int_scalar::t_dev t_int_scalar; typedef tdual_int_scalar::t_dev_const t_int_scalar_const; typedef tdual_int_scalar::t_dev_um t_int_scalar_um; typedef tdual_int_scalar::t_dev_const_um t_int_scalar_const_um; typedef Kokkos:: DualView tdual_float_scalar; typedef tdual_float_scalar::t_dev t_float_scalar; typedef tdual_float_scalar::t_dev_const t_float_scalar_const; typedef tdual_float_scalar::t_dev_um t_float_scalar_um; typedef tdual_float_scalar::t_dev_const_um t_float_scalar_const_um; // generic array types typedef Kokkos:: DualView tdual_int_1d; typedef tdual_int_1d::t_dev t_int_1d; typedef tdual_int_1d::t_dev_const t_int_1d_const; typedef tdual_int_1d::t_dev_um t_int_1d_um; typedef tdual_int_1d::t_dev_const_um t_int_1d_const_um; typedef tdual_int_1d::t_dev_const_randomread t_int_1d_randomread; typedef Kokkos:: DualView tdual_int_2d; typedef tdual_int_2d::t_dev t_int_2d; typedef tdual_int_2d::t_dev_const t_int_2d_const; typedef tdual_int_2d::t_dev_um t_int_2d_um; typedef tdual_int_2d::t_dev_const_um t_int_2d_const_um; typedef tdual_int_2d::t_dev_const_randomread t_int_2d_randomread; typedef Kokkos:: DualView tdual_tagint_1d; typedef tdual_tagint_1d::t_dev t_tagint_1d; typedef tdual_tagint_1d::t_dev_const t_tagint_1d_const; typedef tdual_tagint_1d::t_dev_um t_tagint_1d_um; typedef tdual_tagint_1d::t_dev_const_um t_tagint_1d_const_um; typedef tdual_tagint_1d::t_dev_const_randomread t_tagint_1d_randomread; typedef Kokkos:: DualView tdual_tagint_2d; typedef tdual_tagint_2d::t_dev t_tagint_2d; typedef tdual_tagint_2d::t_dev_const t_tagint_2d_const; typedef tdual_tagint_2d::t_dev_um t_tagint_2d_um; typedef tdual_tagint_2d::t_dev_const_um t_tagint_2d_const_um; typedef tdual_tagint_2d::t_dev_const_randomread t_tagint_2d_randomread; typedef Kokkos:: DualView tdual_imageint_1d; typedef tdual_imageint_1d::t_dev t_imageint_1d; typedef tdual_imageint_1d::t_dev_const t_imageint_1d_const; typedef tdual_imageint_1d::t_dev_um t_imageint_1d_um; typedef tdual_imageint_1d::t_dev_const_um t_imageint_1d_const_um; typedef tdual_imageint_1d::t_dev_const_randomread t_imageint_1d_randomread; typedef Kokkos:: DualView tdual_double_1d; typedef tdual_double_1d::t_dev t_double_1d; typedef tdual_double_1d::t_dev_const t_double_1d_const; typedef tdual_double_1d::t_dev_um t_double_1d_um; typedef tdual_double_1d::t_dev_const_um t_double_1d_const_um; typedef tdual_double_1d::t_dev_const_randomread t_double_1d_randomread; typedef Kokkos:: DualView tdual_double_2d; typedef tdual_double_2d::t_dev t_double_2d; typedef tdual_double_2d::t_dev_const t_double_2d_const; typedef tdual_double_2d::t_dev_um t_double_2d_um; typedef tdual_double_2d::t_dev_const_um t_double_2d_const_um; typedef tdual_double_2d::t_dev_const_randomread t_double_2d_randomread; // 1d float array n typedef Kokkos::DualView tdual_float_1d; typedef tdual_float_1d::t_dev t_float_1d; typedef tdual_float_1d::t_dev_const t_float_1d_const; typedef tdual_float_1d::t_dev_um t_float_1d_um; typedef tdual_float_1d::t_dev_const_um t_float_1d_const_um; typedef tdual_float_1d::t_dev_const_randomread t_float_1d_randomread; //2d float array n typedef Kokkos::DualView tdual_float_2d; typedef tdual_float_2d::t_dev t_float_2d; typedef tdual_float_2d::t_dev_const t_float_2d_const; typedef tdual_float_2d::t_dev_um t_float_2d_um; typedef tdual_float_2d::t_dev_const_um t_float_2d_const_um; typedef tdual_float_2d::t_dev_const_randomread t_float_2d_randomread; //Position Types //1d X_FLOAT array n typedef Kokkos::DualView tdual_xfloat_1d; typedef tdual_xfloat_1d::t_dev t_xfloat_1d; typedef tdual_xfloat_1d::t_dev_const t_xfloat_1d_const; typedef tdual_xfloat_1d::t_dev_um t_xfloat_1d_um; typedef tdual_xfloat_1d::t_dev_const_um t_xfloat_1d_const_um; typedef tdual_xfloat_1d::t_dev_const_randomread t_xfloat_1d_randomread; //2d X_FLOAT array n*m typedef Kokkos::DualView tdual_xfloat_2d; typedef tdual_xfloat_2d::t_dev t_xfloat_2d; typedef tdual_xfloat_2d::t_dev_const t_xfloat_2d_const; typedef tdual_xfloat_2d::t_dev_um t_xfloat_2d_um; typedef tdual_xfloat_2d::t_dev_const_um t_xfloat_2d_const_um; typedef tdual_xfloat_2d::t_dev_const_randomread t_xfloat_2d_randomread; //2d X_FLOAT array n*4 #ifdef LMP_KOKKOS_NO_LEGACY typedef Kokkos::DualView tdual_x_array; #else typedef Kokkos::DualView tdual_x_array; #endif typedef tdual_x_array::t_dev t_x_array; typedef tdual_x_array::t_dev_const t_x_array_const; typedef tdual_x_array::t_dev_um t_x_array_um; typedef tdual_x_array::t_dev_const_um t_x_array_const_um; typedef tdual_x_array::t_dev_const_randomread t_x_array_randomread; //Velocity Types //1d V_FLOAT array n typedef Kokkos::DualView tdual_vfloat_1d; typedef tdual_vfloat_1d::t_dev t_vfloat_1d; typedef tdual_vfloat_1d::t_dev_const t_vfloat_1d_const; typedef tdual_vfloat_1d::t_dev_um t_vfloat_1d_um; typedef tdual_vfloat_1d::t_dev_const_um t_vfloat_1d_const_um; typedef tdual_vfloat_1d::t_dev_const_randomread t_vfloat_1d_randomread; //2d V_FLOAT array n*m typedef Kokkos::DualView tdual_vfloat_2d; typedef tdual_vfloat_2d::t_dev t_vfloat_2d; typedef tdual_vfloat_2d::t_dev_const t_vfloat_2d_const; typedef tdual_vfloat_2d::t_dev_um t_vfloat_2d_um; typedef tdual_vfloat_2d::t_dev_const_um t_vfloat_2d_const_um; typedef tdual_vfloat_2d::t_dev_const_randomread t_vfloat_2d_randomread; //2d V_FLOAT array n*3 typedef Kokkos::DualView tdual_v_array; //typedef Kokkos::DualView tdual_v_array; typedef tdual_v_array::t_dev t_v_array; typedef tdual_v_array::t_dev_const t_v_array_const; typedef tdual_v_array::t_dev_um t_v_array_um; typedef tdual_v_array::t_dev_const_um t_v_array_const_um; typedef tdual_v_array::t_dev_const_randomread t_v_array_randomread; //Force Types //1d F_FLOAT array n typedef Kokkos::DualView tdual_ffloat_1d; typedef tdual_ffloat_1d::t_dev t_ffloat_1d; typedef tdual_ffloat_1d::t_dev_const t_ffloat_1d_const; typedef tdual_ffloat_1d::t_dev_um t_ffloat_1d_um; typedef tdual_ffloat_1d::t_dev_const_um t_ffloat_1d_const_um; typedef tdual_ffloat_1d::t_dev_const_randomread t_ffloat_1d_randomread; //2d F_FLOAT array n*m typedef Kokkos::DualView tdual_ffloat_2d; typedef tdual_ffloat_2d::t_dev t_ffloat_2d; typedef tdual_ffloat_2d::t_dev_const t_ffloat_2d_const; typedef tdual_ffloat_2d::t_dev_um t_ffloat_2d_um; typedef tdual_ffloat_2d::t_dev_const_um t_ffloat_2d_const_um; typedef tdual_ffloat_2d::t_dev_const_randomread t_ffloat_2d_randomread; //2d F_FLOAT array n*3 typedef Kokkos::DualView tdual_f_array; //typedef Kokkos::DualView tdual_f_array; typedef tdual_f_array::t_dev t_f_array; typedef tdual_f_array::t_dev_const t_f_array_const; typedef tdual_f_array::t_dev_um t_f_array_um; typedef tdual_f_array::t_dev_const_um t_f_array_const_um; typedef tdual_f_array::t_dev_const_randomread t_f_array_randomread; //2d F_FLOAT array n*6 (for virial) typedef Kokkos::DualView tdual_virial_array; typedef tdual_virial_array::t_dev t_virial_array; typedef tdual_virial_array::t_dev_const t_virial_array_const; typedef tdual_virial_array::t_dev_um t_virial_array_um; typedef tdual_virial_array::t_dev_const_um t_virial_array_const_um; typedef tdual_virial_array::t_dev_const_randomread t_virial_array_randomread; //Energy Types //1d E_FLOAT array n typedef Kokkos::DualView tdual_efloat_1d; typedef tdual_efloat_1d::t_dev t_efloat_1d; typedef tdual_efloat_1d::t_dev_const t_efloat_1d_const; typedef tdual_efloat_1d::t_dev_um t_efloat_1d_um; typedef tdual_efloat_1d::t_dev_const_um t_efloat_1d_const_um; typedef tdual_efloat_1d::t_dev_const_randomread t_efloat_1d_randomread; //2d E_FLOAT array n*m typedef Kokkos::DualView tdual_efloat_2d; typedef tdual_efloat_2d::t_dev t_efloat_2d; typedef tdual_efloat_2d::t_dev_const t_efloat_2d_const; typedef tdual_efloat_2d::t_dev_um t_efloat_2d_um; typedef tdual_efloat_2d::t_dev_const_um t_efloat_2d_const_um; typedef tdual_efloat_2d::t_dev_const_randomread t_efloat_2d_randomread; //2d E_FLOAT array n*3 typedef Kokkos::DualView tdual_e_array; typedef tdual_e_array::t_dev t_e_array; typedef tdual_e_array::t_dev_const t_e_array_const; typedef tdual_e_array::t_dev_um t_e_array_um; typedef tdual_e_array::t_dev_const_um t_e_array_const_um; typedef tdual_e_array::t_dev_const_randomread t_e_array_randomread; //Neighbor Types typedef Kokkos::DualView tdual_neighbors_2d; typedef tdual_neighbors_2d::t_dev t_neighbors_2d; typedef tdual_neighbors_2d::t_dev_const t_neighbors_2d_const; typedef tdual_neighbors_2d::t_dev_um t_neighbors_2d_um; typedef tdual_neighbors_2d::t_dev_const_um t_neighbors_2d_const_um; typedef tdual_neighbors_2d::t_dev_const_randomread t_neighbors_2d_randomread; }; #ifdef KOKKOS_HAVE_CUDA template <> struct ArrayTypes { //Scalar Types typedef Kokkos::DualView tdual_int_scalar; typedef tdual_int_scalar::t_host t_int_scalar; typedef tdual_int_scalar::t_host_const t_int_scalar_const; typedef tdual_int_scalar::t_host_um t_int_scalar_um; typedef tdual_int_scalar::t_host_const_um t_int_scalar_const_um; typedef Kokkos::DualView tdual_float_scalar; typedef tdual_float_scalar::t_host t_float_scalar; typedef tdual_float_scalar::t_host_const t_float_scalar_const; typedef tdual_float_scalar::t_host_um t_float_scalar_um; typedef tdual_float_scalar::t_host_const_um t_float_scalar_const_um; //Generic ArrayTypes typedef Kokkos::DualView tdual_int_1d; typedef tdual_int_1d::t_host t_int_1d; typedef tdual_int_1d::t_host_const t_int_1d_const; typedef tdual_int_1d::t_host_um t_int_1d_um; typedef tdual_int_1d::t_host_const_um t_int_1d_const_um; typedef tdual_int_1d::t_host_const_randomread t_int_1d_randomread; typedef Kokkos::DualView tdual_int_2d; typedef tdual_int_2d::t_host t_int_2d; typedef tdual_int_2d::t_host_const t_int_2d_const; typedef tdual_int_2d::t_host_um t_int_2d_um; typedef tdual_int_2d::t_host_const_um t_int_2d_const_um; typedef tdual_int_2d::t_host_const_randomread t_int_2d_randomread; typedef Kokkos::DualView tdual_tagint_1d; typedef tdual_tagint_1d::t_host t_tagint_1d; typedef tdual_tagint_1d::t_host_const t_tagint_1d_const; typedef tdual_tagint_1d::t_host_um t_tagint_1d_um; typedef tdual_tagint_1d::t_host_const_um t_tagint_1d_const_um; typedef tdual_tagint_1d::t_host_const_randomread t_tagint_1d_randomread; typedef Kokkos:: DualView tdual_tagint_2d; typedef tdual_tagint_2d::t_host t_tagint_2d; typedef tdual_tagint_2d::t_host_const t_tagint_2d_const; typedef tdual_tagint_2d::t_host_um t_tagint_2d_um; typedef tdual_tagint_2d::t_host_const_um t_tagint_2d_const_um; typedef tdual_tagint_2d::t_host_const_randomread t_tagint_2d_randomread; typedef Kokkos:: DualView tdual_imageint_1d; typedef tdual_imageint_1d::t_host t_imageint_1d; typedef tdual_imageint_1d::t_host_const t_imageint_1d_const; typedef tdual_imageint_1d::t_host_um t_imageint_1d_um; typedef tdual_imageint_1d::t_host_const_um t_imageint_1d_const_um; typedef tdual_imageint_1d::t_host_const_randomread t_imageint_1d_randomread; typedef Kokkos:: DualView tdual_double_1d; typedef tdual_double_1d::t_host t_double_1d; typedef tdual_double_1d::t_host_const t_double_1d_const; typedef tdual_double_1d::t_host_um t_double_1d_um; typedef tdual_double_1d::t_host_const_um t_double_1d_const_um; typedef tdual_double_1d::t_host_const_randomread t_double_1d_randomread; typedef Kokkos:: DualView tdual_double_2d; typedef tdual_double_2d::t_host t_double_2d; typedef tdual_double_2d::t_host_const t_double_2d_const; typedef tdual_double_2d::t_host_um t_double_2d_um; typedef tdual_double_2d::t_host_const_um t_double_2d_const_um; typedef tdual_double_2d::t_host_const_randomread t_double_2d_randomread; //1d float array n typedef Kokkos::DualView tdual_float_1d; typedef tdual_float_1d::t_host t_float_1d; typedef tdual_float_1d::t_host_const t_float_1d_const; typedef tdual_float_1d::t_host_um t_float_1d_um; typedef tdual_float_1d::t_host_const_um t_float_1d_const_um; typedef tdual_float_1d::t_host_const_randomread t_float_1d_randomread; //2d float array n typedef Kokkos::DualView tdual_float_2d; typedef tdual_float_2d::t_host t_float_2d; typedef tdual_float_2d::t_host_const t_float_2d_const; typedef tdual_float_2d::t_host_um t_float_2d_um; typedef tdual_float_2d::t_host_const_um t_float_2d_const_um; typedef tdual_float_2d::t_host_const_randomread t_float_2d_randomread; //Position Types //1d X_FLOAT array n typedef Kokkos::DualView tdual_xfloat_1d; typedef tdual_xfloat_1d::t_host t_xfloat_1d; typedef tdual_xfloat_1d::t_host_const t_xfloat_1d_const; typedef tdual_xfloat_1d::t_host_um t_xfloat_1d_um; typedef tdual_xfloat_1d::t_host_const_um t_xfloat_1d_const_um; typedef tdual_xfloat_1d::t_host_const_randomread t_xfloat_1d_randomread; //2d X_FLOAT array n*m typedef Kokkos::DualView tdual_xfloat_2d; typedef tdual_xfloat_2d::t_host t_xfloat_2d; typedef tdual_xfloat_2d::t_host_const t_xfloat_2d_const; typedef tdual_xfloat_2d::t_host_um t_xfloat_2d_um; typedef tdual_xfloat_2d::t_host_const_um t_xfloat_2d_const_um; typedef tdual_xfloat_2d::t_host_const_randomread t_xfloat_2d_randomread; //2d X_FLOAT array n*3 typedef Kokkos::DualView tdual_x_array; typedef tdual_x_array::t_host t_x_array; typedef tdual_x_array::t_host_const t_x_array_const; typedef tdual_x_array::t_host_um t_x_array_um; typedef tdual_x_array::t_host_const_um t_x_array_const_um; typedef tdual_x_array::t_host_const_randomread t_x_array_randomread; //Velocity Types //1d V_FLOAT array n typedef Kokkos::DualView tdual_vfloat_1d; typedef tdual_vfloat_1d::t_host t_vfloat_1d; typedef tdual_vfloat_1d::t_host_const t_vfloat_1d_const; typedef tdual_vfloat_1d::t_host_um t_vfloat_1d_um; typedef tdual_vfloat_1d::t_host_const_um t_vfloat_1d_const_um; typedef tdual_vfloat_1d::t_host_const_randomread t_vfloat_1d_randomread; //2d V_FLOAT array n*m typedef Kokkos::DualView tdual_vfloat_2d; typedef tdual_vfloat_2d::t_host t_vfloat_2d; typedef tdual_vfloat_2d::t_host_const t_vfloat_2d_const; typedef tdual_vfloat_2d::t_host_um t_vfloat_2d_um; typedef tdual_vfloat_2d::t_host_const_um t_vfloat_2d_const_um; typedef tdual_vfloat_2d::t_host_const_randomread t_vfloat_2d_randomread; //2d V_FLOAT array n*3 typedef Kokkos::DualView tdual_v_array; //typedef Kokkos::DualView tdual_v_array; typedef tdual_v_array::t_host t_v_array; typedef tdual_v_array::t_host_const t_v_array_const; typedef tdual_v_array::t_host_um t_v_array_um; typedef tdual_v_array::t_host_const_um t_v_array_const_um; typedef tdual_v_array::t_host_const_randomread t_v_array_randomread; //Force Types //1d F_FLOAT array n typedef Kokkos::DualView tdual_ffloat_1d; typedef tdual_ffloat_1d::t_host t_ffloat_1d; typedef tdual_ffloat_1d::t_host_const t_ffloat_1d_const; typedef tdual_ffloat_1d::t_host_um t_ffloat_1d_um; typedef tdual_ffloat_1d::t_host_const_um t_ffloat_1d_const_um; typedef tdual_ffloat_1d::t_host_const_randomread t_ffloat_1d_randomread; //2d F_FLOAT array n*m typedef Kokkos::DualView tdual_ffloat_2d; typedef tdual_ffloat_2d::t_host t_ffloat_2d; typedef tdual_ffloat_2d::t_host_const t_ffloat_2d_const; typedef tdual_ffloat_2d::t_host_um t_ffloat_2d_um; typedef tdual_ffloat_2d::t_host_const_um t_ffloat_2d_const_um; typedef tdual_ffloat_2d::t_host_const_randomread t_ffloat_2d_randomread; //2d F_FLOAT array n*3 typedef Kokkos::DualView tdual_f_array; //typedef Kokkos::DualView tdual_f_array; typedef tdual_f_array::t_host t_f_array; typedef tdual_f_array::t_host_const t_f_array_const; typedef tdual_f_array::t_host_um t_f_array_um; typedef tdual_f_array::t_host_const_um t_f_array_const_um; typedef tdual_f_array::t_host_const_randomread t_f_array_randomread; //2d F_FLOAT array n*6 (for virial) typedef Kokkos::DualView tdual_virial_array; typedef tdual_virial_array::t_host t_virial_array; typedef tdual_virial_array::t_host_const t_virial_array_const; typedef tdual_virial_array::t_host_um t_virial_array_um; typedef tdual_virial_array::t_host_const_um t_virial_array_const_um; typedef tdual_virial_array::t_host_const_randomread t_virial_array_randomread; //Energy Types //1d E_FLOAT array n typedef Kokkos::DualView tdual_efloat_1d; typedef tdual_efloat_1d::t_host t_efloat_1d; typedef tdual_efloat_1d::t_host_const t_efloat_1d_const; typedef tdual_efloat_1d::t_host_um t_efloat_1d_um; typedef tdual_efloat_1d::t_host_const_um t_efloat_1d_const_um; typedef tdual_efloat_1d::t_host_const_randomread t_efloat_1d_randomread; //2d E_FLOAT array n*m typedef Kokkos::DualView tdual_efloat_2d; typedef tdual_efloat_2d::t_host t_efloat_2d; typedef tdual_efloat_2d::t_host_const t_efloat_2d_const; typedef tdual_efloat_2d::t_host_um t_efloat_2d_um; typedef tdual_efloat_2d::t_host_const_um t_efloat_2d_const_um; typedef tdual_efloat_2d::t_host_const_randomread t_efloat_2d_randomread; //2d E_FLOAT array n*3 typedef Kokkos::DualView tdual_e_array; typedef tdual_e_array::t_host t_e_array; typedef tdual_e_array::t_host_const t_e_array_const; typedef tdual_e_array::t_host_um t_e_array_um; typedef tdual_e_array::t_host_const_um t_e_array_const_um; typedef tdual_e_array::t_host_const_randomread t_e_array_randomread; //Neighbor Types typedef Kokkos::DualView tdual_neighbors_2d; typedef tdual_neighbors_2d::t_host t_neighbors_2d; typedef tdual_neighbors_2d::t_host_const t_neighbors_2d_const; typedef tdual_neighbors_2d::t_host_um t_neighbors_2d_um; typedef tdual_neighbors_2d::t_host_const_um t_neighbors_2d_const_um; typedef tdual_neighbors_2d::t_host_const_randomread t_neighbors_2d_randomread; }; #endif //default LAMMPS Types typedef struct ArrayTypes DAT; typedef struct ArrayTypes HAT; template void buffer_view(BufferView &buf, DualView &view, const size_t n0, const size_t n1 = 0, const size_t n2 = 0, const size_t n3 = 0, const size_t n4 = 0, const size_t n5 = 0, const size_t n6 = 0, const size_t n7 = 0) { buf = BufferView( view.template view().ptr_on_device(), n0,n1,n2,n3,n4,n5,n6,n7); } template struct MemsetZeroFunctor { typedef DeviceType device_type ; void* ptr; KOKKOS_INLINE_FUNCTION void operator()(const int i) const { ((int*)ptr)[i] = 0; } }; template void memset_kokkos (ViewType &view) { static MemsetZeroFunctor f; f.ptr = view.ptr_on_device(); Kokkos::parallel_for(view.capacity()*sizeof(typename ViewType::value_type)/4, f); ViewType::device_type::fence(); } #endif diff --git a/src/KOKKOS/modify_kokkos.h b/src/KOKKOS/modify_kokkos.h index c0c3a8d68..6d483e6c6 100644 --- a/src/KOKKOS/modify_kokkos.h +++ b/src/KOKKOS/modify_kokkos.h @@ -1,73 +1,73 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_MODIFY_KOKKOS_H #define LMP_MODIFY_KOKKOS_H #include "modify.h" namespace LAMMPS_NS { class ModifyKokkos : public Modify { public: ModifyKokkos(class LAMMPS *); ~ModifyKokkos() {} void setup(int); void setup_pre_exchange(); void setup_pre_neighbor(); void setup_pre_force(int); void initial_integrate(int); void post_integrate(); void pre_decide(); void pre_exchange(); void pre_neighbor(); void pre_force(int); void post_force(int); void final_integrate(); void end_of_step(); double thermo_energy(); void post_run(); void setup_pre_force_respa(int, int); void initial_integrate_respa(int, int, int); void post_integrate_respa(int, int); void pre_force_respa(int, int, int); void post_force_respa(int, int, int); void final_integrate_respa(int, int); void min_pre_exchange(); void min_pre_neighbor(); void min_pre_force(int); void min_post_force(int); double min_energy(double *); void min_store(); void min_step(double, double *); void min_clearstore(); void min_pushstore(); void min_popstore(); double max_alpha(double *); int min_dof(); int min_reset_ref(); protected: class AtomKokkos *atomKK; }; } #endif /* ERROR/WARNING messages: */ diff --git a/src/KOKKOS/neigh_full_kokkos.h b/src/KOKKOS/neigh_full_kokkos.h index effc1cf62..a5125b901 100644 --- a/src/KOKKOS/neigh_full_kokkos.h +++ b/src/KOKKOS/neigh_full_kokkos.h @@ -1,718 +1,718 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #include "atom_kokkos.h" #include "atom_masks.h" #include "domain_kokkos.h" using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ template void NeighborKokkos::full_bin_kokkos(NeighListKokkos *list) { const int nall = includegroup?atom->nfirst:atom->nlocal; list->grow(nall); NeighborKokkosExecute data(*list, k_cutneighsq.view(), k_bincount.view(), k_bins.view(),nall, atomKK->k_x.view(), atomKK->k_type.view(), atomKK->k_mask.view(), atomKK->k_molecule.view(), atomKK->k_tag.view(), atomKK->k_special.view(), atomKK->k_nspecial.view(), atomKK->molecular, nbinx,nbiny,nbinz,mbinx,mbiny,mbinz,mbinxlo,mbinylo,mbinzlo, bininvx,bininvy,bininvz, exclude, nex_type,maxex_type, k_ex1_type.view(), k_ex2_type.view(), k_ex_type.view(), nex_group,maxex_group, k_ex1_group.view(), k_ex2_group.view(), k_ex1_bit.view(), k_ex2_bit.view(), nex_mol, maxex_mol, k_ex_mol_group.view(), k_ex_mol_bit.view(), bboxhi,bboxlo, domain->xperiodic,domain->yperiodic,domain->zperiodic, domain->xprd_half,domain->yprd_half,domain->zprd_half); k_cutneighsq.sync(); k_ex1_type.sync(); k_ex2_type.sync(); k_ex_type.sync(); k_ex1_group.sync(); k_ex2_group.sync(); k_ex1_bit.sync(); k_ex2_bit.sync(); k_ex_mol_group.sync(); k_ex_mol_bit.sync(); atomKK->sync(Device,X_MASK|TYPE_MASK|MASK_MASK|MOLECULE_MASK|TAG_MASK|SPECIAL_MASK); Kokkos::deep_copy(list->d_stencil,list->h_stencil); data.special_flag[0] = special_flag[0]; data.special_flag[1] = special_flag[1]; data.special_flag[2] = special_flag[2]; data.special_flag[3] = special_flag[3]; while(data.h_resize() > 0) { data.h_resize() = 0; deep_copy(data.resize, data.h_resize); MemsetZeroFunctor f_zero; f_zero.ptr = (void*) k_bincount.view().ptr_on_device(); Kokkos::parallel_for(mbins, f_zero); DeviceType::fence(); NeighborKokkosBinAtomsFunctor f(data); Kokkos::parallel_for(atom->nlocal+atom->nghost, f); DeviceType::fence(); deep_copy(data.h_resize, data.resize); if(data.h_resize()) { atoms_per_bin += 16; k_bins = DAT::tdual_int_2d("bins", mbins, atoms_per_bin); data.bins = k_bins.view(); data.c_bins = data.bins; } } if(list->d_neighbors.dimension_0()d_neighbors = typename ArrayTypes::t_neighbors_2d("neighbors", nall*1.1, list->maxneighs); list->d_numneigh = typename ArrayTypes::t_int_1d("numneigh", nall*1.1); data.neigh_list.d_neighbors = list->d_neighbors; data.neigh_list.d_numneigh = list->d_numneigh; } data.h_resize()=1; while(data.h_resize()) { data.h_new_maxneighs() = list->maxneighs; data.h_resize() = 0; Kokkos::deep_copy(data.resize, data.h_resize); Kokkos::deep_copy(data.new_maxneighs, data.h_new_maxneighs); #ifdef KOKKOS_HAVE_CUDA #define BINS_PER_BLOCK 2 const int factor = atoms_per_bin<64?2:1; Kokkos::TeamPolicy config((mbins+factor-1)/factor,atoms_per_bin*factor); #else const int factor = 1; #endif if(newton_pair) { NeighborKokkosBuildFunctor f(data,atoms_per_bin * 5 * sizeof(X_FLOAT) * factor); #ifdef KOKKOS_HAVE_CUDA Kokkos::parallel_for(config, f); #else Kokkos::parallel_for(nall, f); #endif } else { NeighborKokkosBuildFunctor f(data,atoms_per_bin * 5 * sizeof(X_FLOAT) * factor); #ifdef KOKKOS_HAVE_CUDA Kokkos::parallel_for(config, f); #else Kokkos::parallel_for(nall, f); #endif } DeviceType::fence(); deep_copy(data.h_resize, data.resize); if(data.h_resize()) { deep_copy(data.h_new_maxneighs, data.new_maxneighs); list->maxneighs = data.h_new_maxneighs() * 1.2; list->d_neighbors = typename ArrayTypes::t_neighbors_2d("neighbors", list->d_neighbors.dimension_0(), list->maxneighs); data.neigh_list.d_neighbors = list->d_neighbors; data.neigh_list.maxneighs = list->maxneighs; } } list->inum = nall; list->gnum = 0; } /* ---------------------------------------------------------------------- */ template KOKKOS_INLINE_FUNCTION void NeighborKokkosExecute::binatomsItem(const int &i) const { const int ibin = coord2bin(x(i, 0), x(i, 1), x(i, 2)); const int ac = Kokkos::atomic_fetch_add(&bincount[ibin], (int)1); if(ac < bins.dimension_1()) { bins(ibin, ac) = i; } else { resize() = 1; } } /* ---------------------------------------------------------------------- */ template KOKKOS_INLINE_FUNCTION int NeighborKokkosExecute::find_special(const int &i, const int &j) const { const int n1 = nspecial(i,0); const int n2 = nspecial(i,1); const int n3 = nspecial(i,2); for (int k = 0; k < n3; k++) { if (special(i,k) == tag(j)) { if (k < n1) { if (special_flag[1] == 0) return -1; else if (special_flag[1] == 1) return 0; else return 1; } else if (k < n2) { if (special_flag[2] == 0) return -1; else if (special_flag[2] == 1) return 0; else return 2; } else { if (special_flag[3] == 0) return -1; else if (special_flag[3] == 1) return 0; else return 3; } } } return 0; }; /* ---------------------------------------------------------------------- */ template KOKKOS_INLINE_FUNCTION int NeighborKokkosExecute::exclusion(const int &i,const int &j, const int &itype,const int &jtype) const { int m; if (nex_type && ex_type(itype,jtype)) return 1; if (nex_group) { for (m = 0; m < nex_group; m++) { if (mask(i) & ex1_bit(m) && mask(j) & ex2_bit(m)) return 1; if (mask(i) & ex2_bit(m) && mask(j) & ex1_bit(m)) return 1; } } if (nex_mol) { for (m = 0; m < nex_mol; m++) if (mask(i) & ex_mol_bit(m) && mask(j) & ex_mol_bit(m) && molecule(i) == molecule(j)) return 1; } return 0; } /* ---------------------------------------------------------------------- */ template template void NeighborKokkosExecute:: build_Item(const int &i) const { /* if necessary, goto next page and add pages */ int n = 0; int which = 0; int moltemplate; if (molecular == 2) moltemplate = 1; else moltemplate = 0; // get subview of neighbors of i const AtomNeighbors neighbors_i = neigh_list.get_neighbors(i); const X_FLOAT xtmp = x(i, 0); const X_FLOAT ytmp = x(i, 1); const X_FLOAT ztmp = x(i, 2); const int itype = type(i); const int ibin = coord2bin(xtmp, ytmp, ztmp); const int nstencil = neigh_list.nstencil; const typename ArrayTypes::t_int_1d_const_um stencil = neigh_list.d_stencil; // loop over all bins in neighborhood (includes ibin) if(HalfNeigh) for(int m = 0; m < c_bincount(ibin); m++) { const int j = c_bins(ibin,m); const int jtype = type(j); //for same bin as atom i skip j if i==j and skip atoms "below and to the left" if using HalfNeighborlists if((j == i) || (HalfNeigh && !GhostNewton && (j < i)) || (HalfNeigh && GhostNewton && ((j < i) || ((j >= nlocal) && ((x(j, 2) < ztmp) || (x(j, 2) == ztmp && x(j, 1) < ytmp) || (x(j, 2) == ztmp && x(j, 1) == ytmp && x(j, 0) < xtmp))))) ) continue; if(exclude && exclusion(i,j,itype,jtype)) continue; const X_FLOAT delx = xtmp - x(j, 0); const X_FLOAT dely = ytmp - x(j, 1); const X_FLOAT delz = ztmp - x(j, 2); const X_FLOAT rsq = delx * delx + dely * dely + delz * delz; if(rsq <= cutneighsq(itype,jtype)) { if (molecular) { if (!moltemplate) which = find_special(i,j); /* else if (imol >= 0) */ /* which = find_special(onemols[imol]->special[iatom], */ /* onemols[imol]->nspecial[iatom], */ /* tag[j]-tagprev); */ /* else which = 0; */ if (which == 0){ if(n 0) { if(n::t_int_1d_const_um =Kokkos::subview(bins,jbin,ALL); for(int m = 0; m < c_bincount(jbin); m++) { const int j = c_bins(jbin,m); const int jtype = type(j); if(HalfNeigh && !GhostNewton && (j < i)) continue; if(!HalfNeigh && j==i) continue; if(exclude && exclusion(i,j,itype,jtype)) continue; const X_FLOAT delx = xtmp - x(j, 0); const X_FLOAT dely = ytmp - x(j, 1); const X_FLOAT delz = ztmp - x(j, 2); const X_FLOAT rsq = delx * delx + dely * dely + delz * delz; if(rsq <= cutneighsq(itype,jtype)) { if (molecular) { if (!moltemplate) which = find_special(i,j); /* else if (imol >= 0) */ /* which = find_special(onemols[imol]->special[iatom], */ /* onemols[imol]->nspecial[iatom], */ /* tag[j]-tagprev); */ /* else which = 0; */ if (which == 0){ if(n 0) { if(n= neigh_list.maxneighs) { resize() = 1; if(n >= new_maxneighs()) new_maxneighs() = n; } neigh_list.d_ilist(i) = i; } #ifdef KOKKOS_HAVE_CUDA extern __shared__ X_FLOAT sharedmem[]; /* ---------------------------------------------------------------------- */ template template __device__ inline void NeighborKokkosExecute::build_ItemCuda(typename Kokkos::TeamPolicy::member_type dev) const { /* loop over atoms in i's bin, */ const int atoms_per_bin = c_bins.dimension_1(); const int BINS_PER_TEAM = dev.team_size()/atoms_per_bin<1?1:dev.team_size()/atoms_per_bin; const int TEAMS_PER_BIN = atoms_per_bin/dev.team_size()<1?1:atoms_per_bin/dev.team_size(); const int MY_BIN = dev.team_rank()/atoms_per_bin; const int ibin = dev.league_rank()*BINS_PER_TEAM+MY_BIN; if(ibin >=c_bincount.dimension_0()) return; X_FLOAT* other_x = sharedmem; other_x = other_x + 5*atoms_per_bin*MY_BIN; int* other_id = (int*) &other_x[4 * atoms_per_bin]; int bincount_current = c_bincount[ibin]; for(int kk = 0; kk < TEAMS_PER_BIN; kk++) { const int MY_II = dev.team_rank()%atoms_per_bin+kk*dev.team_size(); const int i = MY_II < bincount_current ? c_bins(ibin, MY_II) : -1; /* if necessary, goto next page and add pages */ int n = 0; X_FLOAT xtmp; X_FLOAT ytmp; X_FLOAT ztmp; int itype; const AtomNeighbors neighbors_i = neigh_list.get_neighbors((i>=0&&i= 0) { xtmp = x(i, 0); ytmp = x(i, 1); ztmp = x(i, 2); itype = type(i); other_x[MY_II] = xtmp; other_x[MY_II + atoms_per_bin] = ytmp; other_x[MY_II + 2 * atoms_per_bin] = ztmp; other_x[MY_II + 3 * atoms_per_bin] = itype; } other_id[MY_II] = i; int test = (__syncthreads_count(i >= 0 && i <= nlocal) == 0); if(test) return; if(i >= 0 && i < nlocal) { #pragma unroll 4 for(int m = 0; m < bincount_current; m++) { int j = other_id[m]; const int jtype = other_x[m + 3 * atoms_per_bin]; //for same bin as atom i skip j if i==j and skip atoms "below and to the left" if using halfneighborlists if((j == i) || (HalfNeigh && !GhostNewton && (j < i)) || (HalfNeigh && GhostNewton && ((j < i) || ((j >= nlocal) && ((x(j, 2) < ztmp) || (x(j, 2) == ztmp && x(j, 1) < ytmp) || (x(j, 2) == ztmp && x(j, 1) == ytmp && x(j, 0) < xtmp))))) ) continue; if(exclude && exclusion(i,j,itype,jtype)) continue; const X_FLOAT delx = xtmp - other_x[m]; const X_FLOAT dely = ytmp - other_x[m + atoms_per_bin]; const X_FLOAT delz = ztmp - other_x[m + 2 * atoms_per_bin]; const X_FLOAT rsq = delx * delx + dely * dely + delz * delz; if(rsq <= cutneighsq(itype,jtype)) { if (molecular) { int which = 0; if (!moltemplate) which = find_special(i,j); /* else if (imol >= 0) */ /* which = find_special(onemols[imol]->special[iatom], */ /* onemols[imol]->nspecial[iatom], */ /* tag[j]-tagprev); */ /* else which = 0; */ if (which == 0){ if(n 0) { if(n::t_int_1d_const_um stencil = neigh_list.d_stencil; for(int k = 0; k < nstencil; k++) { const int jbin = ibin + stencil[k]; if(ibin == jbin) continue; bincount_current = c_bincount[jbin]; int j = MY_II < bincount_current ? c_bins(jbin, MY_II) : -1; if(j >= 0) { other_x[MY_II] = x(j, 0); other_x[MY_II + atoms_per_bin] = x(j, 1); other_x[MY_II + 2 * atoms_per_bin] = x(j, 2); other_x[MY_II + 3 * atoms_per_bin] = type(j); } other_id[MY_II] = j; __syncthreads(); if(i >= 0 && i < nlocal) { #pragma unroll 8 for(int m = 0; m < bincount_current; m++) { const int j = other_id[m]; const int jtype = other_x[m + 3 * atoms_per_bin]; //if(HalfNeigh && (j < i)) continue; if(HalfNeigh && !GhostNewton && (j < i)) continue; if(!HalfNeigh && j==i) continue; if(exclude && exclusion(i,j,itype,jtype)) continue; const X_FLOAT delx = xtmp - other_x[m]; const X_FLOAT dely = ytmp - other_x[m + atoms_per_bin]; const X_FLOAT delz = ztmp - other_x[m + 2 * atoms_per_bin]; const X_FLOAT rsq = delx * delx + dely * dely + delz * delz; if(rsq <= cutneighsq(itype,jtype)) { if (molecular) { int which = 0; if (!moltemplate) which = find_special(i,j); /* else if (imol >= 0) */ /* which = find_special(onemols[imol]->special[iatom], */ /* onemols[imol]->nspecial[iatom], */ /* tag[j]-tagprev); */ /* else which = 0; */ if (which == 0){ if(n 0) { if(n= 0 && i < nlocal) { neigh_list.d_numneigh(i) = n; neigh_list.d_ilist(i) = i; } if(n >= neigh_list.maxneighs) { resize() = 1; if(n >= new_maxneighs()) new_maxneighs() = n; } } } #endif template void NeighborKokkos::full_bin_cluster_kokkos(NeighListKokkos *list) { const int nall = includegroup?atom->nfirst:atom->nlocal; list->grow(nall); NeighborKokkosExecute data(*list, k_cutneighsq.view(), k_bincount.view(), k_bins.view(),nall, atomKK->k_x.view(), atomKK->k_type.view(), atomKK->k_mask.view(), atomKK->k_molecule.view(), atomKK->k_tag.view(), atomKK->k_special.view(), atomKK->k_nspecial.view(), atomKK->molecular, nbinx,nbiny,nbinz,mbinx,mbiny,mbinz,mbinxlo,mbinylo,mbinzlo, bininvx,bininvy,bininvz, exclude, nex_type,maxex_type, k_ex1_type.view(), k_ex2_type.view(), k_ex_type.view(), nex_group,maxex_group, k_ex1_group.view(), k_ex2_group.view(), k_ex1_bit.view(), k_ex2_bit.view(), nex_mol, maxex_mol, k_ex_mol_group.view(), k_ex_mol_bit.view(), bboxhi,bboxlo, domain->xperiodic,domain->yperiodic,domain->zperiodic, domain->xprd_half,domain->yprd_half,domain->zprd_half); k_cutneighsq.sync(); k_ex1_type.sync(); k_ex2_type.sync(); k_ex_type.sync(); k_ex1_group.sync(); k_ex2_group.sync(); k_ex1_bit.sync(); k_ex2_bit.sync(); k_ex_mol_group.sync(); k_ex_mol_bit.sync(); data.special_flag[0] = special_flag[0]; data.special_flag[1] = special_flag[1]; data.special_flag[2] = special_flag[2]; data.special_flag[3] = special_flag[3]; atomKK->sync(Device,X_MASK|TYPE_MASK|MASK_MASK|MOLECULE_MASK|TAG_MASK|SPECIAL_MASK); Kokkos::deep_copy(list->d_stencil,list->h_stencil); DeviceType::fence(); while(data.h_resize() > 0) { data.h_resize() = 0; deep_copy(data.resize, data.h_resize); MemsetZeroFunctor f_zero; f_zero.ptr = (void*) k_bincount.view().ptr_on_device(); Kokkos::parallel_for(mbins, f_zero); DeviceType::fence(); NeighborKokkosBinAtomsFunctor f(data); Kokkos::parallel_for(atom->nlocal+atom->nghost, f); DeviceType::fence(); deep_copy(data.h_resize, data.resize); if(data.h_resize()) { atoms_per_bin += 16; k_bins = DAT::tdual_int_2d("bins", mbins, atoms_per_bin); data.bins = k_bins.view(); data.c_bins = data.bins; } } if(list->d_neighbors.dimension_0()d_neighbors = typename ArrayTypes::t_neighbors_2d("neighbors", nall*1.1, list->maxneighs); list->d_numneigh = typename ArrayTypes::t_int_1d("numneigh", nall*1.1); data.neigh_list.d_neighbors = list->d_neighbors; data.neigh_list.d_numneigh = list->d_numneigh; } data.h_resize()=1; while(data.h_resize()) { data.h_new_maxneighs() = list->maxneighs; data.h_resize() = 0; Kokkos::deep_copy(data.resize, data.h_resize); Kokkos::deep_copy(data.new_maxneighs, data.h_new_maxneighs); #ifdef KOKKOS_HAVE_CUDA #define BINS_PER_BLOCK 2 const int factor = atoms_per_bin<64?2:1; Kokkos::TeamPolicy config((mbins+factor-1)/factor,atoms_per_bin*factor); #else const int factor = 1; #endif if(newton_pair) { NeighborClusterKokkosBuildFunctor f(data,atoms_per_bin * 5 * sizeof(X_FLOAT) * factor); //#ifdef KOKKOS_HAVE_CUDA // Kokkos::parallel_for(config, f); //#else Kokkos::parallel_for(nall, f); //#endif } else { NeighborClusterKokkosBuildFunctor f(data,atoms_per_bin * 5 * sizeof(X_FLOAT) * factor); //#ifdef KOKKOS_HAVE_CUDA // Kokkos::parallel_for(config, f); //#else Kokkos::parallel_for(nall, f); //#endif } DeviceType::fence(); deep_copy(data.h_resize, data.resize); if(data.h_resize()) { deep_copy(data.h_new_maxneighs, data.new_maxneighs); list->maxneighs = data.h_new_maxneighs() * 1.2; list->d_neighbors = typename ArrayTypes::t_neighbors_2d("neighbors", list->d_neighbors.dimension_0(), list->maxneighs); data.neigh_list.d_neighbors = list->d_neighbors; data.neigh_list.maxneighs = list->maxneighs; } } list->inum = nall; list->gnum = 0; } /* ---------------------------------------------------------------------- */ template template void NeighborKokkosExecute:: build_cluster_Item(const int &i) const { /* if necessary, goto next page and add pages */ int n = 0; // get subview of neighbors of i const AtomNeighbors neighbors_i = neigh_list.get_neighbors(i); const X_FLOAT xtmp = x(i, 0); const X_FLOAT ytmp = x(i, 1); const X_FLOAT ztmp = x(i, 2); const int itype = type(i); const int ibin = coord2bin(xtmp, ytmp, ztmp); const int nstencil = neigh_list.nstencil; const typename ArrayTypes::t_int_1d_const_um stencil = neigh_list.d_stencil; for(int k = 0; k < nstencil; k++) { const int jbin = ibin + stencil[k]; for(int m = 0; m < c_bincount(jbin); m++) { const int j = c_bins(jbin,m); bool skip = i == j; for(int k = 0; k< (n= neigh_list.maxneighs) { resize() = 1; if(n >= new_maxneighs()) new_maxneighs() = n; } neigh_list.d_ilist(i) = i; } diff --git a/src/KOKKOS/neigh_list_kokkos.h b/src/KOKKOS/neigh_list_kokkos.h index fa0eaba76..184b3d101 100644 --- a/src/KOKKOS/neigh_list_kokkos.h +++ b/src/KOKKOS/neigh_list_kokkos.h @@ -1,104 +1,104 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_NEIGH_LIST_KOKKOS_H #define LMP_NEIGH_LIST_KOKKOS_H #include "pointers.h" #include "neigh_list.h" #include "kokkos_type.h" namespace LAMMPS_NS { enum{FULL=1u,HALFTHREAD=2u,HALF=4u,N2=8u,FULLCLUSTER=16u}; class AtomNeighbors { public: const int num_neighs; KOKKOS_INLINE_FUNCTION AtomNeighbors(int* const & firstneigh, const int & _num_neighs, const int & stride): _firstneigh(firstneigh), _stride(stride), num_neighs(_num_neighs) {}; KOKKOS_INLINE_FUNCTION int& operator()(const int &i) const { return _firstneigh[i*_stride]; } private: int* const _firstneigh; const int _stride; }; class AtomNeighborsConst { public: const int* const _firstneigh; const int numneigh; KOKKOS_INLINE_FUNCTION AtomNeighborsConst(int* const & firstneigh, const int & _numneigh, const int & stride): _firstneigh(firstneigh), _stride(stride), numneigh(_numneigh) {}; KOKKOS_INLINE_FUNCTION const int& operator()(const int &i) const { return _firstneigh[i*_stride]; } private: //const int* const _firstneigh; const int _stride; }; template class NeighListKokkos: public NeighList { int _stride; public: int maxneighs; void clean_copy(); void grow(int nmax); typename ArrayTypes::t_neighbors_2d d_neighbors; typename ArrayTypes::t_int_1d d_ilist; // local indices of I atoms typename ArrayTypes::t_int_1d d_numneigh; // # of J neighs for each I typename ArrayTypes::t_int_1d d_stencil; // # of J neighs for each I typename ArrayTypes::t_int_1d h_stencil; // # of J neighs per I NeighListKokkos(class LAMMPS *lmp): NeighList(lmp) {_stride = 1; maxneighs = 16;}; ~NeighListKokkos() {stencil = NULL; numneigh = NULL; ilist = NULL;}; KOKKOS_INLINE_FUNCTION AtomNeighbors get_neighbors(const int &i) const { return AtomNeighbors(&d_neighbors(i,0),d_numneigh(i), &d_neighbors(i,1)-&d_neighbors(i,0)); } KOKKOS_INLINE_FUNCTION AtomNeighborsConst get_neighbors_const(const int &i) const { return AtomNeighborsConst(&d_neighbors(i,0),d_numneigh(i), &d_neighbors(i,1)-&d_neighbors(i,0)); } KOKKOS_INLINE_FUNCTION int& num_neighs(const int & i) const { return d_numneigh(i); } void stencil_allocate(int smax, int style); }; } #endif diff --git a/src/KOKKOS/pair_coul_cut_kokkos.h b/src/KOKKOS/pair_coul_cut_kokkos.h index 96e4ca0f6..b47ced8bf 100644 --- a/src/KOKKOS/pair_coul_cut_kokkos.h +++ b/src/KOKKOS/pair_coul_cut_kokkos.h @@ -1,137 +1,137 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(coul/cut/kk,PairCoulCutKokkos) PairStyle(coul/cut/kk/device,PairCoulCutKokkos) PairStyle(coul/cut/kk/host,PairCoulCutKokkos) #else #ifndef LMP_PAIR_COUL_CUT_KOKKOS_H #define LMP_PAIR_COUL_CUT_KOKKOS_H #include "pair_kokkos.h" #include "pair_coul_cut.h" #include "neigh_list_kokkos.h" namespace LAMMPS_NS { template class PairCoulCutKokkos : public PairCoulCut { public: enum {EnabledNeighFlags=FULL&HALFTHREAD&HALF}; enum {COUL_FLAG=1}; typedef DeviceType device_type; PairCoulCutKokkos(class LAMMPS *); ~PairCoulCutKokkos(); void compute(int, int); void settings(int, char **); void init_style(); double init_one(int, int); struct params_coul{ params_coul(){cutsq=0,scale=0;}; params_coul(int i){cutsq=0,scale=0;}; F_FLOAT cutsq, scale; }; protected: void cleanup_copy(); template KOKKOS_INLINE_FUNCTION F_FLOAT compute_fpair(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const { return 0.0; } template KOKKOS_INLINE_FUNCTION F_FLOAT compute_fcoul(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype, const F_FLOAT& factor_coul, const F_FLOAT& qtmp) const; template KOKKOS_INLINE_FUNCTION F_FLOAT compute_evdwl(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const{ return 0; } template KOKKOS_INLINE_FUNCTION F_FLOAT compute_ecoul(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype, const F_FLOAT& factor_coul, const F_FLOAT& qtmp) const; Kokkos::DualView k_params; typename Kokkos::DualView::t_dev_const params; // hardwired to space for 15 atom types params_coul m_params[MAX_TYPES_STACKPARAMS+1][MAX_TYPES_STACKPARAMS+1]; F_FLOAT m_cutsq[MAX_TYPES_STACKPARAMS+1][MAX_TYPES_STACKPARAMS+1]; F_FLOAT m_cut_ljsq[MAX_TYPES_STACKPARAMS+1][MAX_TYPES_STACKPARAMS+1]; F_FLOAT m_cut_coulsq[MAX_TYPES_STACKPARAMS+1][MAX_TYPES_STACKPARAMS+1]; typename ArrayTypes::t_x_array_randomread x; typename ArrayTypes::t_x_array c_x; typename ArrayTypes::t_f_array f; typename ArrayTypes::t_float_1d_randomread q; typename ArrayTypes::t_int_1d_randomread type; typename ArrayTypes::t_efloat_1d d_eatom; typename ArrayTypes::t_virial_array d_vatom; int newton_pair; typename ArrayTypes::tdual_ffloat_2d k_cutsq; typename ArrayTypes::t_ffloat_2d d_cutsq; typename ArrayTypes::tdual_ffloat_2d k_cut_ljsq; typename ArrayTypes::t_ffloat_2d d_cut_ljsq; typename ArrayTypes::tdual_ffloat_2d k_cut_coulsq; typename ArrayTypes::t_ffloat_2d d_cut_coulsq; class AtomKokkos *atomKK; int neighflag; int nlocal,nall,eflag,vflag; double special_coul[4]; double special_lj[4]; double qqrd2e; void allocate(); friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend EV_FLOAT pair_compute(PairCoulCutKokkos*, NeighListKokkos*); friend void pair_virial_fdotr_compute(PairCoulCutKokkos*); }; } #endif #endif /* ERROR/WARNING messages: */ diff --git a/src/KOKKOS/pair_kokkos.h b/src/KOKKOS/pair_kokkos.h index 2204399a3..f7a5e510e 100644 --- a/src/KOKKOS/pair_kokkos.h +++ b/src/KOKKOS/pair_kokkos.h @@ -1,743 +1,743 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS #else #ifndef LMP_PAIR_KOKKOS_H #define LMP_PAIR_KOKKOS_H #include "Kokkos_Macros.hpp" #include "pair.h" #include "neigh_list_kokkos.h" #include "Kokkos_Vectorization.hpp" namespace LAMMPS_NS { template struct CoulLongTable { enum {DoTable = Table}; }; // Tags for doing coulomb calculations or not // They facilitate function overloading, since // partial template specialization of member functions is not allowed struct CoulTag {}; struct NoCoulTag {}; template struct DoCoul { typedef NoCoulTag type; }; template<> struct DoCoul<1> { typedef CoulTag type; }; // Determine memory traits for force array // Do atomic trait when running HALFTHREAD neighbor list style template struct AtomicF { enum {value = Kokkos::Unmanaged}; }; template<> struct AtomicF { enum {value = Kokkos::Atomic|Kokkos::Unmanaged}; }; //Specialisation for Neighborlist types Half, HalfThread, Full template struct PairComputeFunctor { typedef typename PairStyle::device_type device_type ; // Reduction type, contains evdwl, ecoul and virial[6] typedef EV_FLOAT value_type; // The copy of the pair style PairStyle c; // The force array is atomic for Half/Thread neighbor style Kokkos::View::value> > f; NeighListKokkos list; PairComputeFunctor(PairStyle* c_ptr, NeighListKokkos* list_ptr): c(*c_ptr),f(c.f),list(*list_ptr) {}; // Call cleanup_copy which sets allocations NULL which are destructed by the PairStyle ~PairComputeFunctor() {c.cleanup_copy();list.clean_copy();}; KOKKOS_INLINE_FUNCTION int sbmask(const int& j) const { return j >> SBBITS & 3; } // Loop over neighbors of one atom without coulomb interaction // This function is called in parallel template KOKKOS_FUNCTION EV_FLOAT compute_item(const int& ii, const NeighListKokkos &list, const NoCoulTag&) const { EV_FLOAT ev; const int i = list.d_ilist[ii]; const X_FLOAT xtmp = c.x(i,0); const X_FLOAT ytmp = c.x(i,1); const X_FLOAT ztmp = c.x(i,2); const int itype = c.type(i); const AtomNeighborsConst neighbors_i = list.get_neighbors_const(i); const int jnum = list.d_numneigh[i]; F_FLOAT fxtmp = 0.0; F_FLOAT fytmp = 0.0; F_FLOAT fztmp = 0.0; for (int jj = 0; jj < jnum; jj++) { int j = neighbors_i(jj); const F_FLOAT factor_lj = c.special_lj[sbmask(j)]; j &= NEIGHMASK; const X_FLOAT delx = xtmp - c.x(j,0); const X_FLOAT dely = ytmp - c.x(j,1); const X_FLOAT delz = ztmp - c.x(j,2); const int jtype = c.type(j); const F_FLOAT rsq = delx*delx + dely*dely + delz*delz; if(rsq < (STACKPARAMS?c.m_cutsq[itype][jtype]:c.d_cutsq(itype,jtype))) { const F_FLOAT fpair = factor_lj*c.template compute_fpair(rsq,i,j,itype,jtype); fxtmp += delx*fpair; fytmp += dely*fpair; fztmp += delz*fpair; if ((NEIGHFLAG==HALF || NEIGHFLAG==HALFTHREAD) && (NEWTON_PAIR || j < c.nlocal)) { f(j,0) -= delx*fpair; f(j,1) -= dely*fpair; f(j,2) -= delz*fpair; } if (EVFLAG) { if (c.eflag) { ev.evdwl += (((NEIGHFLAG==HALF || NEIGHFLAG==HALFTHREAD)&&(NEWTON_PAIR||(j(rsq,i,j,itype,jtype); } if (c.vflag_either) ev_tally(ev,i,j,fpair,delx,dely,delz); } } } f(i,0) += fxtmp; f(i,1) += fytmp; f(i,2) += fztmp; return ev; } // Loop over neighbors of one atom with coulomb interaction // This function is called in parallel template KOKKOS_FUNCTION EV_FLOAT compute_item(const int& ii, const NeighListKokkos &list, const CoulTag& ) const { EV_FLOAT ev; const int i = list.d_ilist[ii]; const X_FLOAT xtmp = c.x(i,0); const X_FLOAT ytmp = c.x(i,1); const X_FLOAT ztmp = c.x(i,2); const int itype = c.type(i); const F_FLOAT qtmp = c.q(i); const AtomNeighborsConst neighbors_i = list.get_neighbors_const(i); const int jnum = list.d_numneigh[i]; F_FLOAT fxtmp = 0.0; F_FLOAT fytmp = 0.0; F_FLOAT fztmp = 0.0; for (int jj = 0; jj < jnum; jj++) { int j = neighbors_i(jj); const F_FLOAT factor_lj = c.special_lj[sbmask(j)]; const F_FLOAT factor_coul = c.special_coul[sbmask(j)]; j &= NEIGHMASK; const X_FLOAT delx = xtmp - c.x(j,0); const X_FLOAT dely = ytmp - c.x(j,1); const X_FLOAT delz = ztmp - c.x(j,2); const int jtype = c.type(j); const F_FLOAT rsq = delx*delx + dely*dely + delz*delz; if(rsq < (STACKPARAMS?c.m_cutsq[itype][jtype]:c.d_cutsq(itype,jtype))) { F_FLOAT fpair = F_FLOAT(); if(rsq < (STACKPARAMS?c.m_cut_ljsq[itype][jtype]:c.d_cut_ljsq(itype,jtype))) fpair+=factor_lj*c.template compute_fpair(rsq,i,j,itype,jtype); if(rsq < (STACKPARAMS?c.m_cut_coulsq[itype][jtype]:c.d_cut_coulsq(itype,jtype))) fpair+=c.template compute_fcoul(rsq,i,j,itype,jtype,factor_coul,qtmp); fxtmp += delx*fpair; fytmp += dely*fpair; fztmp += delz*fpair; if ((NEIGHFLAG==HALF || NEIGHFLAG==HALFTHREAD) && (NEWTON_PAIR || j < c.nlocal)) { f(j,0) -= delx*fpair; f(j,1) -= dely*fpair; f(j,2) -= delz*fpair; } if (EVFLAG) { if (c.eflag) { if(rsq < (STACKPARAMS?c.m_cut_ljsq[itype][jtype]:c.d_cut_ljsq(itype,jtype))) ev.evdwl += (((NEIGHFLAG==HALF || NEIGHFLAG==HALFTHREAD)&&(NEWTON_PAIR||(j(rsq,i,j,itype,jtype); if(rsq < (STACKPARAMS?c.m_cut_coulsq[itype][jtype]:c.d_cut_coulsq(itype,jtype))) ev.ecoul += (((NEIGHFLAG==HALF || NEIGHFLAG==HALFTHREAD)&&(NEWTON_PAIR||(j(rsq,i,j,itype,jtype,factor_coul,qtmp); } if (c.vflag_either) ev_tally(ev,i,j,fpair,delx,dely,delz); } } } f(i,0) += fxtmp; f(i,1) += fytmp; f(i,2) += fztmp; return ev; } KOKKOS_INLINE_FUNCTION void ev_tally(EV_FLOAT &ev, const int &i, const int &j, const F_FLOAT &fpair, const F_FLOAT &delx, const F_FLOAT &dely, const F_FLOAT &delz) const { const int EFLAG = c.eflag; const int NEWTON_PAIR = c.newton_pair; const int VFLAG = c.vflag_either; if (EFLAG) { if (c.eflag_atom) { const E_FLOAT epairhalf = 0.5 * (ev.evdwl + ev.ecoul); if (NEWTON_PAIR || i < c.nlocal) c.eatom[i] += epairhalf; if (NEWTON_PAIR || j < c.nlocal) c.eatom[j] += epairhalf; } } if (VFLAG) { const E_FLOAT v0 = delx*delx*fpair; const E_FLOAT v1 = dely*dely*fpair; const E_FLOAT v2 = delz*delz*fpair; const E_FLOAT v3 = delx*dely*fpair; const E_FLOAT v4 = delx*delz*fpair; const E_FLOAT v5 = dely*delz*fpair; if (c.vflag_global) { if (NEIGHFLAG!=FULL) { if (NEWTON_PAIR) { ev.v[0] += v0; ev.v[1] += v1; ev.v[2] += v2; ev.v[3] += v3; ev.v[4] += v4; ev.v[5] += v5; } else { if (i < c.nlocal) { ev.v[0] += 0.5*v0; ev.v[1] += 0.5*v1; ev.v[2] += 0.5*v2; ev.v[3] += 0.5*v3; ev.v[4] += 0.5*v4; ev.v[5] += 0.5*v5; } if (j < c.nlocal) { ev.v[0] += 0.5*v0; ev.v[1] += 0.5*v1; ev.v[2] += 0.5*v2; ev.v[3] += 0.5*v3; ev.v[4] += 0.5*v4; ev.v[5] += 0.5*v5; } } } else { ev.v[0] += 0.5*v0; ev.v[1] += 0.5*v1; ev.v[2] += 0.5*v2; ev.v[3] += 0.5*v3; ev.v[4] += 0.5*v4; ev.v[5] += 0.5*v5; } } if (c.vflag_atom) { if (NEWTON_PAIR || i < c.nlocal) { c.d_vatom(i,0) += 0.5*v0; c.d_vatom(i,1) += 0.5*v1; c.d_vatom(i,2) += 0.5*v2; c.d_vatom(i,3) += 0.5*v3; c.d_vatom(i,4) += 0.5*v4; c.d_vatom(i,5) += 0.5*v5; } if (NEWTON_PAIR || (NEIGHFLAG && j < c.nlocal)) { c.d_vatom(j,0) += 0.5*v0; c.d_vatom(j,1) += 0.5*v1; c.d_vatom(j,2) += 0.5*v2; c.d_vatom(j,3) += 0.5*v3; c.d_vatom(j,4) += 0.5*v4; c.d_vatom(j,5) += 0.5*v5; } } } } KOKKOS_INLINE_FUNCTION void operator()(const int i) const { if (c.newton_pair) compute_item<0,1>(i,list,typename DoCoul::type()); else compute_item<0,0>(i,list,typename DoCoul::type()); } KOKKOS_INLINE_FUNCTION void operator()(const int i, value_type &energy_virial) const { if (c.newton_pair) energy_virial += compute_item<1,1>(i,list,typename DoCoul::type()); else energy_virial += compute_item<1,0>(i,list,typename DoCoul::type()); } }; template struct PairComputeFunctor { typedef typename PairStyle::device_type device_type ; typedef Kokkos::Vectorization vectorization; typedef EV_FLOAT value_type; PairStyle c; NeighListKokkos list; PairComputeFunctor(PairStyle* c_ptr, NeighListKokkos* list_ptr): c(*c_ptr),list(*list_ptr) {}; ~PairComputeFunctor() {c.cleanup_copy();list.clean_copy();}; KOKKOS_INLINE_FUNCTION int sbmask(const int& j) const { return j >> SBBITS & 3; } template KOKKOS_FUNCTION EV_FLOAT compute_item(const typename Kokkos::TeamPolicy::member_type& dev, const NeighListKokkos &list, const NoCoulTag& ) const { EV_FLOAT ev; const int i = vectorization::global_thread_rank(dev); const X_FLOAT xtmp = c.c_x(i,0); const X_FLOAT ytmp = c.c_x(i,1); const X_FLOAT ztmp = c.c_x(i,2); const int itype = c.type(i); const AtomNeighborsConst neighbors_i = list.get_neighbors_const(i); const int jnum = list.d_numneigh[i]; F_FLOAT fxtmp = 0.0; F_FLOAT fytmp = 0.0; F_FLOAT fztmp = 0.0; for (int jj = 0; jj < jnum; jj++) { const int jjj = neighbors_i(jj); for (int k = vectorization::begin(); k=c.nall)) continue; const X_FLOAT delx = xtmp - c.c_x(j,0); const X_FLOAT dely = ytmp - c.c_x(j,1); const X_FLOAT delz = ztmp - c.c_x(j,2); const int jtype = c.type(j); const F_FLOAT rsq = (delx*delx + dely*dely + delz*delz); if(rsq < (STACKPARAMS?c.m_cutsq[itype][jtype]:c.d_cutsq(itype,jtype))) { const F_FLOAT fpair = factor_lj*c.template compute_fpair(rsq,i,j,itype,jtype); fxtmp += delx*fpair; fytmp += dely*fpair; fztmp += delz*fpair; if (EVFLAG) { if (c.eflag) { ev.evdwl += 0.5* factor_lj * c.template compute_evdwl(rsq,i,j,itype,jtype); } if (c.vflag_either) ev_tally(ev,i,j,fpair,delx,dely,delz); } } } } const F_FLOAT fx = vectorization::reduce(fxtmp); const F_FLOAT fy = vectorization::reduce(fytmp); const F_FLOAT fz = vectorization::reduce(fztmp); if(vectorization::is_lane_0(dev)) { c.f(i,0) += fx; c.f(i,1) += fy; c.f(i,2) += fz; } return ev; } KOKKOS_INLINE_FUNCTION void ev_tally(EV_FLOAT &ev, const int &i, const int &j, const F_FLOAT &fpair, const F_FLOAT &delx, const F_FLOAT &dely, const F_FLOAT &delz) const { const int EFLAG = c.eflag; const int NEWTON_PAIR = c.newton_pair; const int VFLAG = c.vflag_either; if (EFLAG) { if (c.eflag_atom) { const E_FLOAT epairhalf = 0.5 * (ev.evdwl + ev.ecoul); if (NEWTON_PAIR || i < c.nlocal) c.eatom[i] += epairhalf; if (NEWTON_PAIR || j < c.nlocal) c.eatom[j] += epairhalf; } } if (VFLAG) { const E_FLOAT v0 = delx*delx*fpair; const E_FLOAT v1 = dely*dely*fpair; const E_FLOAT v2 = delz*delz*fpair; const E_FLOAT v3 = delx*dely*fpair; const E_FLOAT v4 = delx*delz*fpair; const E_FLOAT v5 = dely*delz*fpair; if (c.vflag_global) { ev.v[0] += 0.5*v0; ev.v[1] += 0.5*v1; ev.v[2] += 0.5*v2; ev.v[3] += 0.5*v3; ev.v[4] += 0.5*v4; ev.v[5] += 0.5*v5; } if (c.vflag_atom) { if (i < c.nlocal) { c.d_vatom(i,0) += 0.5*v0; c.d_vatom(i,1) += 0.5*v1; c.d_vatom(i,2) += 0.5*v2; c.d_vatom(i,3) += 0.5*v3; c.d_vatom(i,4) += 0.5*v4; c.d_vatom(i,5) += 0.5*v5; } } } } KOKKOS_INLINE_FUNCTION void operator()(const typename Kokkos::TeamPolicy::member_type& dev) const { if (c.newton_pair) compute_item<0,1>(dev,list,typename DoCoul::type()); else compute_item<0,0>(dev,list,typename DoCoul::type()); } KOKKOS_INLINE_FUNCTION void operator()(const typename Kokkos::TeamPolicy::member_type& dev, value_type &energy_virial) const { if (c.newton_pair) energy_virial += compute_item<1,1>(dev,list,typename DoCoul::type()); else energy_virial += compute_item<1,0>(dev,list,typename DoCoul::type()); } }; template struct PairComputeFunctor { typedef typename PairStyle::device_type device_type ; typedef EV_FLOAT value_type; PairStyle c; NeighListKokkos list; PairComputeFunctor(PairStyle* c_ptr, NeighListKokkos* list_ptr): c(*c_ptr),list(*list_ptr) {}; ~PairComputeFunctor() {c.cleanup_copy();list.clean_copy();}; KOKKOS_INLINE_FUNCTION int sbmask(const int& j) const { return j >> SBBITS & 3; } template KOKKOS_FUNCTION EV_FLOAT compute_item(const int& ii, const NeighListKokkos &list, const NoCoulTag&) const { (void) list; EV_FLOAT ev; const int i = ii;//list.d_ilist[ii]; const X_FLOAT xtmp = c.x(i,0); const X_FLOAT ytmp = c.x(i,1); const X_FLOAT ztmp = c.x(i,2); const int itype = c.type(i); //const AtomNeighborsConst neighbors_i = list.get_neighbors_const(i); const int jnum = c.nall; F_FLOAT fxtmp = 0.0; F_FLOAT fytmp = 0.0; F_FLOAT fztmp = 0.0; for (int jj = 0; jj < jnum; jj++) { int j = jj;//neighbors_i(jj); if(i==j) continue; const F_FLOAT factor_lj = c.special_lj[sbmask(j)]; j &= NEIGHMASK; const X_FLOAT delx = xtmp - c.x(j,0); const X_FLOAT dely = ytmp - c.x(j,1); const X_FLOAT delz = ztmp - c.x(j,2); const int jtype = c.type(j); const F_FLOAT rsq = delx*delx + dely*dely + delz*delz; if(rsq < (STACKPARAMS?c.m_cutsq[itype][jtype]:c.d_cutsq(itype,jtype))) { const F_FLOAT fpair = factor_lj*c.template compute_fpair(rsq,i,j,itype,jtype); fxtmp += delx*fpair; fytmp += dely*fpair; fztmp += delz*fpair; if (EVFLAG) { if (c.eflag) { ev.evdwl += 0.5* factor_lj * c.template compute_evdwl(rsq,i,j,itype,jtype); } if (c.vflag_either) ev_tally(ev,i,j,fpair,delx,dely,delz); } } } c.f(i,0) += fxtmp; c.f(i,1) += fytmp; c.f(i,2) += fztmp; return ev; } KOKKOS_INLINE_FUNCTION void ev_tally(EV_FLOAT &ev, const int &i, const int &j, const F_FLOAT &fpair, const F_FLOAT &delx, const F_FLOAT &dely, const F_FLOAT &delz) const { const int EFLAG = c.eflag; const int VFLAG = c.vflag_either; if (EFLAG) { if (c.eflag_atom) { const E_FLOAT epairhalf = 0.5 * (ev.evdwl + ev.ecoul); if (i < c.nlocal) c.eatom[i] += epairhalf; if (j < c.nlocal) c.eatom[j] += epairhalf; } } if (VFLAG) { const E_FLOAT v0 = delx*delx*fpair; const E_FLOAT v1 = dely*dely*fpair; const E_FLOAT v2 = delz*delz*fpair; const E_FLOAT v3 = delx*dely*fpair; const E_FLOAT v4 = delx*delz*fpair; const E_FLOAT v5 = dely*delz*fpair; if (c.vflag_global) { ev.v[0] += 0.5*v0; ev.v[1] += 0.5*v1; ev.v[2] += 0.5*v2; ev.v[3] += 0.5*v3; ev.v[4] += 0.5*v4; ev.v[5] += 0.5*v5; } if (c.vflag_atom) { if (i < c.nlocal) { c.d_vatom(i,0) += 0.5*v0; c.d_vatom(i,1) += 0.5*v1; c.d_vatom(i,2) += 0.5*v2; c.d_vatom(i,3) += 0.5*v3; c.d_vatom(i,4) += 0.5*v4; c.d_vatom(i,5) += 0.5*v5; } } } } KOKKOS_INLINE_FUNCTION void operator()(const int i) const { compute_item<0,0>(i,list,typename DoCoul::type()); } KOKKOS_INLINE_FUNCTION void operator()(const int i, value_type &energy_virial) const { energy_virial += compute_item<1,0>(i,list,typename DoCoul::type()); } }; // Filter out Neighflags which are not supported for PairStyle // The enable_if clause will invalidate the last parameter of the function, so that // a match is only achieved, if PairStyle supports the specific neighborlist variant. // This uses the fact that failure to match template parameters is not an error. // By having the enable_if with a ! and without it, exactly one of the two versions of the functions // pair_compute_neighlist and pair_compute_fullcluster will match - either the dummy version // or the real one further below. template EV_FLOAT pair_compute_neighlist (PairStyle* fpair, typename Kokkos::Impl::enable_if*>::type list) { EV_FLOAT ev; (void) fpair; (void) list; printf("ERROR: calling pair_compute with invalid neighbor list style: requested %i available %i",NEIGHFLAG,PairStyle::EnabledNeighFlags); return ev; } template EV_FLOAT pair_compute_fullcluster (PairStyle* fpair, typename Kokkos::Impl::enable_if*>::type list) { EV_FLOAT ev; (void) fpair; (void) list; printf("ERROR: calling pair_compute with invalid neighbor list style: requested %i available %i",FULLCLUSTER,PairStyle::EnabledNeighFlags); return ev; } // Submit ParallelFor for NEIGHFLAG=HALF,HALFTHREAD,FULL,N2 template EV_FLOAT pair_compute_neighlist (PairStyle* fpair, typename Kokkos::Impl::enable_if*>::type list) { EV_FLOAT ev; if(fpair->atom->ntypes > MAX_TYPES_STACKPARAMS) { PairComputeFunctor ff(fpair,list); if (fpair->eflag || fpair->vflag) Kokkos::parallel_reduce(list->inum,ff,ev); else Kokkos::parallel_for(list->inum,ff); } else { PairComputeFunctor ff(fpair,list); if (fpair->eflag || fpair->vflag) Kokkos::parallel_reduce(list->inum,ff,ev); else Kokkos::parallel_for(list->inum,ff); } return ev; } // Submit ParallelFor for NEIGHFLAG=FULLCLUSTER template EV_FLOAT pair_compute_fullcluster (PairStyle* fpair, typename Kokkos::Impl::enable_if*>::type list) { EV_FLOAT ev; if(fpair->atom->ntypes > MAX_TYPES_STACKPARAMS) { typedef PairComputeFunctor f_type; f_type ff(fpair, list); #ifdef KOKKOS_HAVE_CUDA const int teamsize = Kokkos::Impl::is_same::value ? 256 : 1; #else const int teamsize = 1; #endif const int nteams = (list->inum*f_type::vectorization::increment+teamsize-1)/teamsize; Kokkos::TeamPolicy config(nteams,teamsize); if (fpair->eflag || fpair->vflag) Kokkos::parallel_reduce(config,ff,ev); else Kokkos::parallel_for(config,ff); } else { typedef PairComputeFunctor f_type; f_type ff(fpair, list); #ifdef KOKKOS_HAVE_CUDA const int teamsize = Kokkos::Impl::is_same::value ? 256 : 1; #else const int teamsize = 1; #endif const int nteams = (list->inum*f_type::vectorization::increment+teamsize-1)/teamsize; Kokkos::TeamPolicy config(nteams,teamsize); if (fpair->eflag || fpair->vflag) Kokkos::parallel_reduce(config,ff,ev); else Kokkos::parallel_for(config,ff); } return ev; } template EV_FLOAT pair_compute (PairStyle* fpair, NeighListKokkos* list) { EV_FLOAT ev; if (fpair->neighflag == FULL) { ev = pair_compute_neighlist (fpair,list); } else if (fpair->neighflag == HALFTHREAD) { ev = pair_compute_neighlist (fpair,list); } else if (fpair->neighflag == HALF) { ev = pair_compute_neighlist (fpair,list); } else if (fpair->neighflag == N2) { ev = pair_compute_neighlist (fpair,list); } else if (fpair->neighflag == FULLCLUSTER) { ev = pair_compute_fullcluster (fpair,list); } return ev; } template struct PairVirialFDotRCompute { typedef ArrayTypes AT; typedef EV_FLOAT value_type; typename AT::t_x_array_const x; typename AT::t_f_array_const f; const int offset; PairVirialFDotRCompute( typename AT::t_x_array_const x_, typename AT::t_f_array_const f_, const int offset_):x(x_),f(f_),offset(offset_) {} KOKKOS_INLINE_FUNCTION void operator()(const int j, value_type &energy_virial) const { const int i = j + offset; energy_virial.v[0] += f(i,0)*x(i,0); energy_virial.v[1] += f(i,1)*x(i,1); energy_virial.v[2] += f(i,2)*x(i,2); energy_virial.v[3] += f(i,1)*x(i,0); energy_virial.v[4] += f(i,2)*x(i,0); energy_virial.v[5] += f(i,2)*x(i,1); } }; template void pair_virial_fdotr_compute(PairStyle* fpair) { EV_FLOAT virial; if (fpair->neighbor->includegroup == 0) { int nall = fpair->atom->nlocal + fpair->atom->nghost; Kokkos::parallel_reduce(nall,PairVirialFDotRCompute(fpair->x,fpair->f,0),virial); } else { Kokkos::parallel_reduce(fpair->atom->nfirst,PairVirialFDotRCompute(fpair->x,fpair->f,0),virial); EV_FLOAT virial_ghost; Kokkos::parallel_reduce(fpair->atom->nghost,PairVirialFDotRCompute(fpair->x,fpair->f,fpair->atom->nlocal),virial_ghost); virial+=virial_ghost; } fpair->vflag_fdotr = 0; fpair->virial[0] = virial.v[0]; fpair->virial[1] = virial.v[1]; fpair->virial[2] = virial.v[2]; fpair->virial[3] = virial.v[3]; fpair->virial[4] = virial.v[4]; fpair->virial[5] = virial.v[5]; } } #endif #endif /* ERROR/WARNING messages: */ diff --git a/src/KOKKOS/pair_lj_cut_coul_cut_kokkos.h b/src/KOKKOS/pair_lj_cut_coul_cut_kokkos.h index cc91a5989..20b8db4b4 100644 --- a/src/KOKKOS/pair_lj_cut_coul_cut_kokkos.h +++ b/src/KOKKOS/pair_lj_cut_coul_cut_kokkos.h @@ -1,131 +1,131 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/coul/cut/kk,PairLJCutCoulCutKokkos) PairStyle(lj/cut/coul/cut/kk/device,PairLJCutCoulCutKokkos) PairStyle(lj/cut/coul/cut/kk/host,PairLJCutCoulCutKokkos) #else #ifndef LMP_PAIR_LJ_CUT_COUL_CUT_KOKKOS_H #define LMP_PAIR_LJ_CUT_COUL_CUT_KOKKOS_H #include "pair_kokkos.h" #include "pair_lj_cut_coul_cut.h" #include "neigh_list_kokkos.h" namespace LAMMPS_NS { template class PairLJCutCoulCutKokkos : public PairLJCutCoulCut { public: enum {EnabledNeighFlags=FULL|HALFTHREAD|HALF}; enum {COUL_FLAG=1}; typedef DeviceType device_type; PairLJCutCoulCutKokkos(class LAMMPS *); ~PairLJCutCoulCutKokkos(); void compute(int, int); void settings(int, char **); void init_style(); double init_one(int, int); struct params_lj_coul{ params_lj_coul(){cut_ljsq=0;cut_coulsq=0;lj1=0;lj2=0;lj3=0;lj4=0;offset=0;}; params_lj_coul(int i){cut_ljsq=0;cut_coulsq=0;lj1=0;lj2=0;lj3=0;lj4=0;offset=0;}; F_FLOAT cut_ljsq,cut_coulsq,lj1,lj2,lj3,lj4,offset; }; protected: void cleanup_copy(); template KOKKOS_INLINE_FUNCTION F_FLOAT compute_fpair(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const; template KOKKOS_INLINE_FUNCTION F_FLOAT compute_fcoul(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype, const F_FLOAT& factor_coul, const F_FLOAT& qtmp) const; template KOKKOS_INLINE_FUNCTION F_FLOAT compute_evdwl(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const; template KOKKOS_INLINE_FUNCTION F_FLOAT compute_ecoul(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype, const F_FLOAT& factor_coul, const F_FLOAT& qtmp) const; Kokkos::DualView k_params; typename Kokkos::DualView::t_dev_const params; // hardwired to space for 15 atom types params_lj_coul m_params[MAX_TYPES_STACKPARAMS+1][MAX_TYPES_STACKPARAMS+1]; F_FLOAT m_cutsq[MAX_TYPES_STACKPARAMS+1][MAX_TYPES_STACKPARAMS+1]; F_FLOAT m_cut_ljsq[MAX_TYPES_STACKPARAMS+1][MAX_TYPES_STACKPARAMS+1]; F_FLOAT m_cut_coulsq[MAX_TYPES_STACKPARAMS+1][MAX_TYPES_STACKPARAMS+1]; typename ArrayTypes::t_x_array_randomread x; typename ArrayTypes::t_x_array c_x; typename ArrayTypes::t_f_array f; typename ArrayTypes::t_int_1d_randomread type; typename ArrayTypes::t_float_1d_randomread q; typename ArrayTypes::t_efloat_1d d_eatom; typename ArrayTypes::t_virial_array d_vatom; int newton_pair; typename ArrayTypes::tdual_ffloat_2d k_cutsq; typename ArrayTypes::t_ffloat_2d d_cutsq; typename ArrayTypes::tdual_ffloat_2d k_cut_ljsq; typename ArrayTypes::t_ffloat_2d d_cut_ljsq; typename ArrayTypes::tdual_ffloat_2d k_cut_coulsq; typename ArrayTypes::t_ffloat_2d d_cut_coulsq; class AtomKokkos *atomKK; int neighflag; int nlocal,nall,eflag,vflag; double special_coul[4]; double special_lj[4]; double qqrd2e; void allocate(); friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend EV_FLOAT pair_compute_neighlist(PairLJCutCoulCutKokkos*,NeighListKokkos*); friend EV_FLOAT pair_compute_neighlist(PairLJCutCoulCutKokkos*,NeighListKokkos*); friend EV_FLOAT pair_compute_neighlist(PairLJCutCoulCutKokkos*,NeighListKokkos*); friend EV_FLOAT pair_compute(PairLJCutCoulCutKokkos*, NeighListKokkos*); }; } #endif #endif /* ERROR/WARNING messages: */ diff --git a/src/KOKKOS/pair_lj_cut_coul_long_kokkos.h b/src/KOKKOS/pair_lj_cut_coul_long_kokkos.h index d6512174f..df5a81cc9 100644 --- a/src/KOKKOS/pair_lj_cut_coul_long_kokkos.h +++ b/src/KOKKOS/pair_lj_cut_coul_long_kokkos.h @@ -1,147 +1,147 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/coul/long/kk,PairLJCutCoulLongKokkos) PairStyle(lj/cut/coul/long/kk/device,PairLJCutCoulLongKokkos) PairStyle(lj/cut/coul/long/kk/host,PairLJCutCoulLongKokkos) #else #ifndef LMP_PAIR_LJ_CUT_COUL_LONG_KOKKOS_H #define LMP_PAIR_LJ_CUT_COUL_LONG_KOKKOS_H #include "pair_kokkos.h" #include "pair_lj_cut_coul_long.h" #include "neigh_list_kokkos.h" namespace LAMMPS_NS { template class PairLJCutCoulLongKokkos : public PairLJCutCoulLong { public: enum {EnabledNeighFlags=FULL|HALFTHREAD|HALF}; enum {COUL_FLAG=1}; typedef DeviceType device_type; PairLJCutCoulLongKokkos(class LAMMPS *); ~PairLJCutCoulLongKokkos(); void compute(int, int); void settings(int, char **); void init_tables(double cut_coul, double *cut_respa); void init_style(); double init_one(int, int); struct params_lj_coul{ params_lj_coul(){cut_ljsq=0;cut_coulsq=0;lj1=0;lj2=0;lj3=0;lj4=0;offset=0;}; params_lj_coul(int i){cut_ljsq=0;cut_coulsq=0;lj1=0;lj2=0;lj3=0;lj4=0;offset=0;}; F_FLOAT cut_ljsq,cut_coulsq,lj1,lj2,lj3,lj4,offset; }; protected: void cleanup_copy(); template KOKKOS_INLINE_FUNCTION F_FLOAT compute_fpair(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const; template KOKKOS_INLINE_FUNCTION F_FLOAT compute_fcoul(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype, const F_FLOAT& factor_coul, const F_FLOAT& qtmp) const; template KOKKOS_INLINE_FUNCTION F_FLOAT compute_evdwl(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const; template KOKKOS_INLINE_FUNCTION F_FLOAT compute_ecoul(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype, const F_FLOAT& factor_coul, const F_FLOAT& qtmp) const; Kokkos::DualView k_params; typename Kokkos::DualView::t_dev_const params; // hardwired to space for 15 atom types params_lj_coul m_params[MAX_TYPES_STACKPARAMS+1][MAX_TYPES_STACKPARAMS+1]; F_FLOAT m_cutsq[MAX_TYPES_STACKPARAMS+1][MAX_TYPES_STACKPARAMS+1]; F_FLOAT m_cut_ljsq[MAX_TYPES_STACKPARAMS+1][MAX_TYPES_STACKPARAMS+1]; F_FLOAT m_cut_coulsq[MAX_TYPES_STACKPARAMS+1][MAX_TYPES_STACKPARAMS+1]; typename ArrayTypes::t_x_array_randomread x; typename ArrayTypes::t_x_array c_x; typename ArrayTypes::t_f_array f; typename ArrayTypes::t_int_1d_randomread type; typename ArrayTypes::t_float_1d_randomread q; typename ArrayTypes::t_efloat_1d d_eatom; typename ArrayTypes::t_virial_array d_vatom; int newton_pair; typename ArrayTypes::tdual_ffloat_2d k_cutsq; typename ArrayTypes::t_ffloat_2d d_cutsq; typename ArrayTypes::tdual_ffloat_2d k_cut_ljsq; typename ArrayTypes::t_ffloat_2d d_cut_ljsq; typename ArrayTypes::tdual_ffloat_2d k_cut_coulsq; typename ArrayTypes::t_ffloat_2d d_cut_coulsq; typename ArrayTypes::t_ffloat_1d_randomread d_rtable, d_drtable, d_ftable, d_dftable, d_ctable, d_dctable, d_etable, d_detable; class AtomKokkos *atomKK; int neighflag; int nlocal,nall,eflag,vflag; double special_coul[4]; double special_lj[4]; double qqrd2e; void allocate(); friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend EV_FLOAT pair_compute_neighlist >(PairLJCutCoulLongKokkos*,NeighListKokkos*); friend EV_FLOAT pair_compute_neighlist >(PairLJCutCoulLongKokkos*,NeighListKokkos*); friend EV_FLOAT pair_compute_neighlist >(PairLJCutCoulLongKokkos*,NeighListKokkos*); friend EV_FLOAT pair_compute >(PairLJCutCoulLongKokkos*, NeighListKokkos*); friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend EV_FLOAT pair_compute_neighlist >(PairLJCutCoulLongKokkos*,NeighListKokkos*); friend EV_FLOAT pair_compute_neighlist >(PairLJCutCoulLongKokkos*,NeighListKokkos*); friend EV_FLOAT pair_compute_neighlist >(PairLJCutCoulLongKokkos*,NeighListKokkos*); friend EV_FLOAT pair_compute >(PairLJCutCoulLongKokkos*, NeighListKokkos*); friend void pair_virial_fdotr_compute(PairLJCutCoulLongKokkos*); }; } #endif #endif /* ERROR/WARNING messages: */ diff --git a/src/KOKKOS/pair_lj_cut_kokkos.h b/src/KOKKOS/pair_lj_cut_kokkos.h index 0ba40b4d5..cc41b1ddc 100644 --- a/src/KOKKOS/pair_lj_cut_kokkos.h +++ b/src/KOKKOS/pair_lj_cut_kokkos.h @@ -1,119 +1,119 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/kk,PairLJCutKokkos) PairStyle(lj/cut/kk/device,PairLJCutKokkos) PairStyle(lj/cut/kk/host,PairLJCutKokkos) #else #ifndef LMP_PAIR_LJ_CUT_KOKKOS_H #define LMP_PAIR_LJ_CUT_KOKKOS_H #include "pair_kokkos.h" #include "pair_lj_cut.h" #include "neigh_list_kokkos.h" namespace LAMMPS_NS { template class PairLJCutKokkos : public PairLJCut { public: enum {EnabledNeighFlags=FULL|HALFTHREAD|HALF|N2|FULLCLUSTER}; enum {COUL_FLAG=0}; typedef DeviceType device_type; PairLJCutKokkos(class LAMMPS *); ~PairLJCutKokkos(); void compute(int, int); void settings(int, char **); void init_style(); double init_one(int, int); struct params_lj{ params_lj(){cutsq=0,lj1=0;lj2=0;lj3=0;lj4=0;offset=0;}; params_lj(int i){cutsq=0,lj1=0;lj2=0;lj3=0;lj4=0;offset=0;}; F_FLOAT cutsq,lj1,lj2,lj3,lj4,offset; }; protected: void cleanup_copy(); template KOKKOS_INLINE_FUNCTION F_FLOAT compute_fpair(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const; template KOKKOS_INLINE_FUNCTION F_FLOAT compute_evdwl(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const; template KOKKOS_INLINE_FUNCTION F_FLOAT compute_ecoul(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const { return 0; } Kokkos::DualView k_params; typename Kokkos::DualView::t_dev_const params; params_lj m_params[MAX_TYPES_STACKPARAMS+1][MAX_TYPES_STACKPARAMS+1]; // hardwired to space for 15 atom types F_FLOAT m_cutsq[MAX_TYPES_STACKPARAMS+1][MAX_TYPES_STACKPARAMS+1]; typename ArrayTypes::t_x_array_randomread x; typename ArrayTypes::t_x_array c_x; typename ArrayTypes::t_f_array f; typename ArrayTypes::t_int_1d_randomread type; typename ArrayTypes::t_efloat_1d d_eatom; typename ArrayTypes::t_virial_array d_vatom; typename ArrayTypes::t_tagint_1d tag; int newton_pair; double special_lj[4]; typename ArrayTypes::tdual_ffloat_2d k_cutsq; typename ArrayTypes::t_ffloat_2d d_cutsq; class AtomKokkos *atomKK; int neighflag; int nlocal,nall,eflag,vflag; void allocate(); friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend class PairComputeFunctor; friend EV_FLOAT pair_compute_neighlist(PairLJCutKokkos*,NeighListKokkos*); friend EV_FLOAT pair_compute_neighlist(PairLJCutKokkos*,NeighListKokkos*); friend EV_FLOAT pair_compute_neighlist(PairLJCutKokkos*,NeighListKokkos*); friend EV_FLOAT pair_compute_neighlist(PairLJCutKokkos*,NeighListKokkos*); friend EV_FLOAT pair_compute_fullcluster(PairLJCutKokkos*,NeighListKokkos*); friend EV_FLOAT pair_compute(PairLJCutKokkos*,NeighListKokkos*); friend void pair_virial_fdotr_compute(PairLJCutKokkos*); }; } #endif #endif /* ERROR/WARNING messages: */ diff --git a/src/KOKKOS/pair_table_kokkos.h b/src/KOKKOS/pair_table_kokkos.h index 10c7c6db7..ce887bd90 100644 --- a/src/KOKKOS/pair_table_kokkos.h +++ b/src/KOKKOS/pair_table_kokkos.h @@ -1,296 +1,296 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(table/kk,PairTableKokkos) PairStyle(table/kk/device,PairTableKokkos) PairStyle(table/kk/host,PairTableKokkos) #else #ifndef LMP_PAIR_TABLE_KOKKOS_H #define LMP_PAIR_TABLE_KOKKOS_H #include "pair.h" #include "pair_kokkos.h" #include "neigh_list_kokkos.h" #include "atom_kokkos.h" namespace LAMMPS_NS { template struct S_TableCompute { enum {TabStyle = TABSTYLE}; }; template class PairTableComputeFunctor; template class PairTableKokkos : public Pair { public: enum {EnabledNeighFlags=FULL&HALFTHREAD&HALF&N2&FULLCLUSTER}; enum {COUL_FLAG=0}; typedef DeviceType device_type; PairTableKokkos(class LAMMPS *); virtual ~PairTableKokkos(); virtual void compute(int, int); template void compute_style(int, int); /*template KOKKOS_FUNCTION EV_FLOAT compute_item(const int& i, const NeighListKokkos &list) const; */ void settings(int, char **); void coeff(int, char **); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); double single(int, int, int, int, double, double, double, double &); void *extract(const char *, int &); void init_style(); protected: enum{LOOKUP,LINEAR,SPLINE,BITMAP}; int tabstyle,tablength; /*struct TableDeviceConst { typename ArrayTypes::t_ffloat_2d_randomread cutsq; typename ArrayTypes::t_int_2d_randomread tabindex; typename ArrayTypes::t_int_1d_randomread nshiftbits,nmask; typename ArrayTypes::t_ffloat_1d_randomread innersq,invdelta,deltasq6; typename ArrayTypes::t_ffloat_2d_randomread rsq,drsq,e,de,f,df,e2,f2; };*/ //Its faster not to use texture fetch if the number of tables is less than 32! struct TableDeviceConst { typename ArrayTypes::t_ffloat_2d cutsq; typename ArrayTypes::t_int_2d tabindex; typename ArrayTypes::t_int_1d nshiftbits,nmask; typename ArrayTypes::t_ffloat_1d innersq,invdelta,deltasq6; typename ArrayTypes::t_ffloat_2d_randomread rsq,drsq,e,de,f,df,e2,f2; }; struct TableDevice { typename ArrayTypes::t_ffloat_2d cutsq; typename ArrayTypes::t_int_2d tabindex; typename ArrayTypes::t_int_1d nshiftbits,nmask; typename ArrayTypes::t_ffloat_1d innersq,invdelta,deltasq6; typename ArrayTypes::t_ffloat_2d rsq,drsq,e,de,f,df,e2,f2; }; struct TableHost { typename ArrayTypes::t_ffloat_2d cutsq; typename ArrayTypes::t_int_2d tabindex; typename ArrayTypes::t_int_1d nshiftbits,nmask; typename ArrayTypes::t_ffloat_1d innersq,invdelta,deltasq6; typename ArrayTypes::t_ffloat_2d rsq,drsq,e,de,f,df,e2,f2; }; struct Table { int ninput,rflag,fpflag,match,ntablebits; int nshiftbits,nmask; double rlo,rhi,fplo,fphi,cut; double *rfile,*efile,*ffile; double *e2file,*f2file; double innersq,delta,invdelta,deltasq6; double *rsq,*drsq,*e,*de,*f,*df,*e2,*f2; }; int ntables; Table *tables; TableDeviceConst d_table_const; TableDevice* d_table; TableHost* h_table; int **tabindex; F_FLOAT m_cutsq[MAX_TYPES_STACKPARAMS+1][MAX_TYPES_STACKPARAMS+1]; typename ArrayTypes::t_ffloat_2d d_cutsq; void allocate(); void read_table(Table *, char *, char *); void param_extract(Table *, char *); void bcast_table(Table *); void spline_table(Table *); void compute_table(Table *); void null_table(Table *); void free_table(Table *); void spline(double *, double *, int, double, double, double *); double splint(double *, double *, double *, int, double); typename ArrayTypes::t_x_array_randomread x; typename ArrayTypes::t_x_array_const c_x; typename ArrayTypes::t_f_array f; typename ArrayTypes::t_int_1d_randomread type; typename ArrayTypes::t_efloat_1d d_eatom; typename ArrayTypes::t_virial_array d_vatom; protected: int nlocal,nall,eflag,vflag,neighflag,newton_pair; class AtomKokkos *atomKK; int update_table; void create_kokkos_tables(); void cleanup_copy(); template KOKKOS_INLINE_FUNCTION F_FLOAT compute_fpair(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const; template KOKKOS_INLINE_FUNCTION F_FLOAT compute_evdwl(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const; template KOKKOS_INLINE_FUNCTION F_FLOAT compute_ecoul(const F_FLOAT& rsq, const int& i, const int&j, const int& itype, const int& jtype) const { return 0; } friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend class PairComputeFunctor >; friend void pair_virial_fdotr_compute(PairTableKokkos*); }; } #endif #endif /* ERROR/WARNING messages: E: Pair distance < table inner cutoff Two atoms are closer together than the pairwise table allows. E: Pair distance > table outer cutoff Two atoms are further apart than the pairwise table allows. E: Illegal ... command 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: Unknown table style in pair_style command Style of table is invalid for use with pair_style table command. E: Illegal number of pair table entries There must be at least 2 table entries. E: Invalid pair table length Length of read-in pair table is invalid E: Invalid pair table cutoff Cutoffs in pair_coeff command are not valid with read-in pair table. E: Bitmapped table in file does not match requested table Setting for bitmapped table in pair_coeff command must match table in file exactly. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. E: Cannot open file %s The specified file cannot be opened. Check that the path and name are correct. If the file is a compressed file, also check that the gzip executable can be found and run. E: Did not find keyword in table file Keyword used in pair_coeff command was not found in table file. E: Bitmapped table is incorrect length in table file Number of table entries is not a correct power of 2. E: Invalid keyword in pair table parameters Keyword used in list of table parameters is not recognized. E: Pair table parameters did not set N List of pair table parameters must include N setting. E: Pair table cutoffs must all be equal to use with KSpace When using pair style table with a long-range KSpace solver, the cutoffs for all atom type pairs must all be the same, since the long-range solver starts at that cutoff. */ diff --git a/src/KOKKOS/verlet_kokkos.h b/src/KOKKOS/verlet_kokkos.h index 63531bda2..743be3c0c 100644 --- a/src/KOKKOS/verlet_kokkos.h +++ b/src/KOKKOS/verlet_kokkos.h @@ -1,48 +1,48 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef INTEGRATE_CLASS IntegrateStyle(verlet/kk,VerletKokkos) #else #ifndef LMP_VERLET_KOKKOS_H #define LMP_VERLET_KOKKOS_H #include "verlet.h" namespace LAMMPS_NS { class VerletKokkos : public Verlet { public: VerletKokkos(class LAMMPS *, int, char **); ~VerletKokkos() {} void setup(); void setup_minimal(int); void run(int); protected: class AtomKokkos *atomKK; void force_clear(); }; } #endif #endif /* ERROR/WARNING messages: */ diff --git a/src/KSPACE/ewald.h b/src/KSPACE/ewald.h index ffb1944e2..1d5ce73e6 100644 --- a/src/KSPACE/ewald.h +++ b/src/KSPACE/ewald.h @@ -1,138 +1,138 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef KSPACE_CLASS KSpaceStyle(ewald,Ewald) #else #ifndef LMP_EWALD_H #define LMP_EWALD_H #include "kspace.h" namespace LAMMPS_NS { class Ewald : public KSpace { public: Ewald(class LAMMPS *, int, char **); virtual ~Ewald(); void init(); void setup(); virtual void compute(int, int); double memory_usage(); void compute_group_group(int, int, int); protected: int kxmax,kymax,kzmax; int kcount,kmax,kmax3d,kmax_created; double gsqmx,volume; int nmax; double unitk[3]; int *kxvecs,*kyvecs,*kzvecs; int kxmax_orig,kymax_orig,kzmax_orig; double *ug; double **eg,**vg; double **ek; double *sfacrl,*sfacim,*sfacrl_all,*sfacim_all; double ***cs,***sn; // group-group interactions int group_allocate_flag; double *sfacrl_A,*sfacim_A,*sfacrl_A_all,*sfacim_A_all; double *sfacrl_B,*sfacim_B,*sfacrl_B_all,*sfacim_B_all; double rms(int, double, bigint, double); virtual void eik_dot_r(); void coeffs(); virtual void allocate(); void deallocate(); void slabcorr(); // triclinic int triclinic; void eik_dot_r_triclinic(); void coeffs_triclinic(); // group-group interactions void slabcorr_groups(int,int,int); void allocate_groups(); void deallocate_groups(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot use Ewald with 2d simulation The kspace style ewald cannot be used in 2d simulations. You can use 2d Ewald in a 3d simulation; see the kspace_modify command. E: Kspace style requires atom attribute q The atom style defined does not have these attributes. E: Cannot use nonperiodic boundaries with Ewald For kspace style ewald, 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 Ewald Must have periodic x,y dimensions and non-periodic z dimension to use 2d slab option with Ewald. E: Cannot (yet) use Ewald with triclinic box and slab correction This feature is not yet supported. E: KSpace style is incompatible with Pair style Setting a kspace style requires that a pair style with a long-range Coulombic or dispersion component be used. E: Cannot use kspace solver on system with no charge No atoms in system have a non-zero charge. W: 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 the long-range Coulombic solvers. E: KSpace accuracy must be > 0 The kspace accuracy designated in the input must be greater than zero. E: Cannot (yet) use K-space slab correction with compute group/group for triclinic systems This option is not yet supported. */ diff --git a/src/KSPACE/ewald_disp.h b/src/KSPACE/ewald_disp.h index ccbf2afd3..7fd1856ab 100644 --- a/src/KSPACE/ewald_disp.h +++ b/src/KSPACE/ewald_disp.h @@ -1,164 +1,164 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef KSPACE_CLASS KSpaceStyle(ewald/disp,EwaldDisp) #else #ifndef LMP_EWALD_DISP_H #define LMP_EWALD_DISP_H #include "kspace.h" #include "math_complex.h" namespace LAMMPS_NS { #define EWALD_NORDER 6 #define EWALD_NFUNCS 4 #define EWALD_MAX_NSUMS 10 #define EWALD_NSUMS {1, 1, 7, 1} typedef struct cvector { complex x, y, z; } cvector; typedef struct hvector { double x, y, z; } hvector; typedef struct kvector { long x, y, z; } kvector; class EwaldDisp : public KSpace { public: EwaldDisp(class LAMMPS *, int, char **); ~EwaldDisp(); void init(); void setup(); void compute(int, int); double memory_usage() {return bytes;} private: double unit[6]; int function[EWALD_NFUNCS], first_output; int nkvec, nkvec_max, nevec, nevec_max, nbox, nfunctions, nsums, sums; int peratom_allocate_flag; int nmax; double bytes; double gsqmx,q2,b2,M2; double *kenergy, energy_self[EWALD_NFUNCS]; double *kvirial, virial_self[EWALD_NFUNCS]; double **energy_self_peratom; double **virial_self_peratom; cvector *ekr_local; hvector *hvec; kvector *kvec; double mumurd2e, dielectric, *B, volume; struct Sum { double x, x2; } sum[EWALD_MAX_NSUMS]; complex *cek_local, *cek_global; double rms(int, double, bigint, double, double, double); void reallocate(); void allocate_peratom(); void reallocate_atoms(); void deallocate(); void deallocate_peratom(); void coefficients(); void init_coeffs(); void init_coeff_sums(); void init_self(); void init_self_peratom(); void compute_ek(); void compute_force(); void compute_surface(); void compute_energy(); void compute_energy_peratom(); void compute_virial(); void compute_virial_dipole(); void compute_virial_peratom(); void compute_slabcorr(); double NewtonSolve(double, double, bigint, double, double); double f(double, double, bigint, double, double); double derivf(double, double, bigint, double, double); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot use EwaldDisp with 2d simulation This is a current restriction of this command. E: Cannot use nonperiodic boundaries with EwaldDisp 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 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 Setting a kspace style requires that a pair style with a long-range Coulombic or dispersion component be used. E: Unsupported mixing rule in kspace_style ewald/disp Only geometric mixing is supported. E: Unsupported order in kspace_style ewald/disp Only 1/r^6 dispersion or dipole terms are supported. E: Cannot (yet) use 'electron' units with dipoles This feature is not yet supported. E: Cannot use Ewald/disp solver on system with no charge, dipole, or LJ particles No atoms in system have a non-zero charge or dipole, or are LJ particles. Change charges/dipoles or change options of the kspace solver/pair style. W: 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 the long-range Coulombic solvers. W: Ewald/disp Newton solver failed, using old method to estimate g_ewald Self-explanatory. Choosing a different cutoff value may help. E: KSpace accuracy too low Requested accuracy must be less than 1.0. E: Epsilon or sigma reference not set by pair style in ewald/n The pair style is not providing the needed epsilon or sigma values. E: Cannot (yet) use kspace slab correction with long-range dipoles and non-neutral systems or per-atom energy This feature is not yet supported. */ diff --git a/src/KSPACE/fix_tune_kspace.h b/src/KSPACE/fix_tune_kspace.h index 1ea9dbee0..b99b7a085 100644 --- a/src/KSPACE/fix_tune_kspace.h +++ b/src/KSPACE/fix_tune_kspace.h @@ -1,109 +1,109 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(tune/kspace,FixTuneKspace) #else #ifndef LMP_FIX_TUNE_KSPACE_H #define LMP_FIX_TUNE_KSPACE_H #include "stdio.h" #include "fix.h" namespace LAMMPS_NS { class FixTuneKspace : public Fix { public: FixTuneKspace(class LAMMPS *, int, char **); ~FixTuneKspace() {} int setmask(); void init(); void pre_exchange(); double get_timing_info(); void store_old_kspace_settings(); void update_pair_style(char *, double); void update_kspace_style(char *, char *); void adjust_rcut(double); void mnbrak(); void brent0(); void brent1(); void brent2(); private: int nevery; int last_step; // previous timestep when timing info was collected double last_spcpu; // old elapsed CPU time value int firststep; // 0 if this is the first time timing info is collected int niter; // number of kspace switches double ewald_time,pppm_time,msm_time; double pair_cut_coul; char new_acc_str[12]; char new_kspace_style[20]; char new_pair_style[20]; char base_pair_style[20]; int old_differentiation_flag; int old_slabflag; double old_slab_volfactor; int niter_adjust_rcut; double ax_brent,bx_brent,cx_brent,dx_brent; double fa_brent,fb_brent,fc_brent,fd_brent; double v_brent,w_brent,x_brent; double fv_brent,fw_brent,fx_brent; double a_brent,b_brent; double fd2_brent; double dxlim; bool keep_bracketing,first_brent_pass; bool converged,need_fd2_brent; inline void shft3(double &a, double &b, double &c, const double d) { a=b; b=c; c=d; } }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot use fix tune/kspace without a kspace style Self-explanatory. E: Cannot use fix tune/kspace without a pair style This fix (tune/kspace) can only be used when a pair style has been specified. E: Bad real space Coulomb cutoff in fix tune/kspace Fix tune/kspace tried to find the optimal real space Coulomb cutoff using the Newton-Rhaphson method, but found a non-positive or NaN cutoff */ diff --git a/src/KSPACE/gridcomm.h b/src/KSPACE/gridcomm.h index dbadff692..73415a66e 100644 --- a/src/KSPACE/gridcomm.h +++ b/src/KSPACE/gridcomm.h @@ -1,87 +1,87 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_GRIDCOMM_H #define LMP_GRIDCOMM_H #include "pointers.h" #ifdef FFT_SINGLE typedef float FFT_SCALAR; #define MPI_FFT_SCALAR MPI_FLOAT #else typedef double FFT_SCALAR; #define MPI_FFT_SCALAR MPI_DOUBLE #endif namespace LAMMPS_NS { class GridComm : protected Pointers { public: GridComm(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); GridComm(class LAMMPS *, MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int); ~GridComm(); void ghost_notify(); int ghost_overlap(); void setup(); void forward_comm(class KSpace *, int); void reverse_comm(class KSpace *, int); double memory_usage(); private: int me; int nforward,nreverse; MPI_Comm gridcomm; MPI_Request request; MPI_Status status; // in = inclusive indices of 3d grid chunk that I own // out = inclusive indices of 3d grid chunk I own plus ghosts I use // proc = 6 neighbor procs that surround me // ghost = # of my owned grid planes needed from me // by each of 6 neighbor procs to become their ghost planes int inxlo,inxhi,inylo,inyhi,inzlo,inzhi; int outxlo,outxhi,outylo,outyhi,outzlo,outzhi; int outxlo_max,outxhi_max,outylo_max,outyhi_max,outzlo_max,outzhi_max; int procxlo,procxhi,procylo,procyhi,proczlo,proczhi; int ghostxlo,ghostxhi,ghostylo,ghostyhi,ghostzlo,ghostzhi; int nbuf; FFT_SCALAR *buf1,*buf2; struct Swap { int sendproc; // proc to send to for forward comm int recvproc; // proc to recv from for forward comm int npack; // # of datums to pack int nunpack; // # of datums to unpack int *packlist; // 3d array offsets to pack int *unpacklist; // 3d array offsets to unpack }; int nswap; Swap *swap; int indices(int *&, int, int, int, int, int, int); }; } #endif diff --git a/src/KSPACE/pair_born_coul_long.h b/src/KSPACE/pair_born_coul_long.h index 4a7b70977..d9a9b8b08 100644 --- a/src/KSPACE/pair_born_coul_long.h +++ b/src/KSPACE/pair_born_coul_long.h @@ -1,87 +1,87 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(born/coul/long,PairBornCoulLong) #else #ifndef LMP_PAIR_BORN_COUL_LONG_H #define LMP_PAIR_BORN_COUL_LONG_H #include "pair.h" namespace LAMMPS_NS { class PairBornCoulLong : public Pair { public: PairBornCoulLong(class LAMMPS *); virtual ~PairBornCoulLong(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); virtual double single(int, int, int, int, double, double, double, double &); virtual void *extract(const char *, int &); protected: double cut_lj_global; double **cut_lj,**cut_ljsq; double cut_coul,cut_coulsq; double **a,**rho,**sigma,**c,**d; double **rhoinv,**born1,**born2,**born3,**offset; double *cut_respa; double g_ewald; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. E: Pair style born/coul/long requires atom attribute q An atom style that defines this attribute must be used. E: Pair style requires a KSpace style No kspace style is defined. */ diff --git a/src/KSPACE/pair_born_coul_msm.h b/src/KSPACE/pair_born_coul_msm.h index 2828b4926..98e0af0ae 100644 --- a/src/KSPACE/pair_born_coul_msm.h +++ b/src/KSPACE/pair_born_coul_msm.h @@ -1,75 +1,75 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(born/coul/msm,PairBornCoulMSM) #else #ifndef LMP_PAIR_BORN_COUL_MSM_H #define LMP_PAIR_BORN_COUL_MSM_H #include "pair_born_coul_long.h" namespace LAMMPS_NS { class PairBornCoulMSM : public PairBornCoulLong { public: PairBornCoulMSM(class LAMMPS *); virtual ~PairBornCoulMSM(); virtual void compute(int, int); virtual double single(int, int, int, int, double, double, double, double &); virtual void *extract(const char *, int &); protected: int nmax; double **ftmp; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. E: Pair style born/coul/long requires atom attribute q An atom style that defines this attribute must be used. E: 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. E: Must use 'kspace_modify pressure/scalar no' to obtain per-atom virial with kspace_style MSM The kspace scalar pressure option cannot be used to obtain per-atom virial. */ diff --git a/src/KSPACE/pair_buck_coul_long.h b/src/KSPACE/pair_buck_coul_long.h index 255b20345..48bd70794 100644 --- a/src/KSPACE/pair_buck_coul_long.h +++ b/src/KSPACE/pair_buck_coul_long.h @@ -1,88 +1,88 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(buck/coul/long,PairBuckCoulLong) #else #ifndef LMP_PAIR_BUCK_COUL_LONG_H #define LMP_PAIR_BUCK_COUL_LONG_H #include "pair.h" namespace LAMMPS_NS { class PairBuckCoulLong : public Pair { public: PairBuckCoulLong(class LAMMPS *); virtual ~PairBuckCoulLong(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); virtual double single(int, int, int, int, double, double, double, double &); virtual void *extract(const char *, int &); protected: double cut_lj_global; double **cut_lj,**cut_ljsq; double cut_coul,cut_coulsq; double **a,**rho,**c; double **rhoinv,**buck1,**buck2,**offset; double *cut_respa; double g_ewald; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. E: Pair style buck/coul/long requires atom attribute q The atom style defined does not have these attributes. E: Pair style requires a KSpace style No kspace style is defined. */ diff --git a/src/KSPACE/pair_buck_coul_msm.h b/src/KSPACE/pair_buck_coul_msm.h index 5bce89217..2644b3aaa 100644 --- a/src/KSPACE/pair_buck_coul_msm.h +++ b/src/KSPACE/pair_buck_coul_msm.h @@ -1,74 +1,74 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(buck/coul/msm,PairBuckCoulMSM) #else #ifndef LMP_PAIR_BUCK_COUL_MSM_H #define LMP_PAIR_BUCK_COUL_MSM_H #include "pair_buck_coul_long.h" namespace LAMMPS_NS { class PairBuckCoulMSM : public PairBuckCoulLong { public: PairBuckCoulMSM(class LAMMPS *); virtual ~PairBuckCoulMSM(); virtual void compute(int, int); virtual double single(int, int, int, int, double, double, double, double &); virtual void *extract(const char *, int &); protected: int nmax; double **ftmp; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. E: Pair style buck/coul/long requires atom attribute q The atom style defined does not have these attributes. E: 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. E: Must use 'kspace_modify pressure/scalar no' to obtain per-atom virial with kspace_style MSM The kspace scalar pressure option cannot be used to obtain per-atom virial. */ diff --git a/src/KSPACE/pair_coul_msm.h b/src/KSPACE/pair_coul_msm.h index aaa3a63d5..429621110 100644 --- a/src/KSPACE/pair_coul_msm.h +++ b/src/KSPACE/pair_coul_msm.h @@ -1,71 +1,71 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(coul/msm,PairCoulMSM) #else #ifndef LMP_PAIR_COUL_MSM_H #define LMP_PAIR_COUL_MSM_H #include "pair_coul_long.h" namespace LAMMPS_NS { class PairCoulMSM : public PairCoulLong { public: PairCoulMSM(class LAMMPS *); virtual ~PairCoulMSM(){}; virtual void compute(int, int); virtual double single(int, int, int, int, double, double, double, double &); virtual void *extract(const char *, int &); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style lj/cut/coul/msm requires atom attribute q The atom style defined does not have this attribute. E: Pair cutoff < Respa interior cutoff One or more pairwise cutoffs are too short to use with the specified rRESPA cutoffs. E: 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. E: Must use 'kspace_modify pressure/scalar no' to obtain per-atom virial with kspace_style MSM The kspace scalar pressure option cannot be used to obtain per-atom virial. */ diff --git a/src/KSPACE/pair_lj_charmm_coul_msm.h b/src/KSPACE/pair_lj_charmm_coul_msm.h index e9dac633f..7f725a1f2 100644 --- a/src/KSPACE/pair_lj_charmm_coul_msm.h +++ b/src/KSPACE/pair_lj_charmm_coul_msm.h @@ -1,89 +1,89 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/charmm/coul/msm,PairLJCharmmCoulMSM) #else #ifndef LMP_PAIR_LJ_CHARMM_COUL_MSM_H #define LMP_PAIR_LJ_CHARMM_COUL_MSM_H #include "pair_lj_charmm_coul_long.h" namespace LAMMPS_NS { class PairLJCharmmCoulMSM : public PairLJCharmmCoulLong { public: PairLJCharmmCoulMSM(class LAMMPS *); virtual ~PairLJCharmmCoulMSM(); virtual void compute(int, int); virtual double single(int, int, int, int, double, double, double, double &); virtual void compute_outer(int, int); virtual void *extract(const char *, int &); protected: int nmax; double **ftmp; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style lj/charmm/coul/long requires atom attribute q The atom style defined does not have these attributes. E: Pair inner cutoff >= Pair outer cutoff The specified cutoffs for the pair style are inconsistent. E: Must use 'kspace_modify pressure/scalar no' to obtain per-atom virial with kspace_style MSM The kspace scalar pressure option cannot be used to obtain per-atom virial. E: Must use 'kspace_modify pressure/scalar no' for rRESPA with kspace_style MSM The kspace scalar pressure option cannot (yet) be used with rRESPA. E: Pair cutoff < Respa interior cutoff One or more pairwise cutoffs are too short to use with the specified rRESPA cutoffs. E: Pair inner cutoff < Respa interior cutoff One or more pairwise cutoffs are too short to use with the specified rRESPA cutoffs. E: Pair style is incompatible with KSpace style If a pair style with a long-range Coulombic component is selected, then a kspace style must also be used. */ diff --git a/src/KSPACE/pair_lj_cut_coul_msm.h b/src/KSPACE/pair_lj_cut_coul_msm.h index b1e9fe1c0..d110bec31 100644 --- a/src/KSPACE/pair_lj_cut_coul_msm.h +++ b/src/KSPACE/pair_lj_cut_coul_msm.h @@ -1,79 +1,79 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/coul/msm,PairLJCutCoulMSM) #else #ifndef LMP_PAIR_LJ_CUT_COUL_MSM_H #define LMP_PAIR_LJ_CUT_COUL_MSM_H #include "pair_lj_cut_coul_long.h" namespace LAMMPS_NS { class PairLJCutCoulMSM : public PairLJCutCoulLong { public: PairLJCutCoulMSM(class LAMMPS *); virtual ~PairLJCutCoulMSM(); virtual void compute(int, int); virtual double single(int, int, int, int, double, double, double, double &); virtual void compute_outer(int, int); virtual void *extract(const char *, int &); protected: int nmax; double **ftmp; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style lj/cut/coul/msm requires atom attribute q The atom style defined does not have this attribute. E: 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. E: Must use 'kspace_modify pressure/scalar no' to obtain per-atom virial with kspace_style MSM The kspace scalar pressure option cannot be used to obtain per-atom virial. E: Must use 'kspace_modify pressure/scalar no' for rRESPA with kspace_style MSM The kspace scalar pressure option cannot (yet) be used with rRESPA. E: Pair cutoff < Respa interior cutoff One or more pairwise cutoffs are too short to use with the specified rRESPA cutoffs. */ diff --git a/src/KSPACE/pair_lj_cut_tip4p_long.h b/src/KSPACE/pair_lj_cut_tip4p_long.h index 7167d0590..42e40e041 100644 --- a/src/KSPACE/pair_lj_cut_tip4p_long.h +++ b/src/KSPACE/pair_lj_cut_tip4p_long.h @@ -1,105 +1,105 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/tip4p/long,PairLJCutTIP4PLong) #else #ifndef LMP_PAIR_LJ_CUT_TIP4P_LONG_H #define LMP_PAIR_LJ_CUT_TIP4P_LONG_H #include "pair_lj_cut_coul_long.h" namespace LAMMPS_NS { class PairLJCutTIP4PLong : public PairLJCutCoulLong { public: PairLJCutTIP4PLong(class LAMMPS *); ~PairLJCutTIP4PLong(); virtual void compute(int, int); void settings(int, char **); void init_style(); double init_one(int, int); void write_restart_settings(FILE *fp); void read_restart_settings(FILE *fp); void *extract(const char *, int &); double memory_usage(); protected: int typeH,typeO; // atom types of TIP4P water H and O atoms int typeA,typeB; // angle and bond types of TIP4P water double alpha; // geometric constraint parameter for TIP4P int nmax; // info on off-oxygen charge sites int **hneigh; // 0,1 = indices of 2 H associated with O // 2 = 0 if site loc not yet computed, 1 if yes double **newsite; // locations of charge sites void compute_newsite(double *, double *, double *, double *); }; } #endif #endif /* ERROR/WARNING messages: E: TIP4P hydrogen is missing The TIP4P pairwise computation failed to find the correct H atom within a water molecule. 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. E: Illegal ... command 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: Pair style lj/cut/tip4p/long 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. E: Pair style lj/cut/tip4p/long requires newton pair on This is because the computation of constraint forces within a water molecule adds forces to atoms owned by other processors. E: Pair style lj/cut/tip4p/long requires atom attribute q The atom style defined does not have these attributes. E: Must use a bond style with TIP4P potential TIP4P potentials assume bond lengths in water are constrained by a fix shake command. 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/cut/tip4p/long This is because LAMMPS does not compute the Lennard-Jones interactions with these particles for efficiency reasons. */ diff --git a/src/KSPACE/pair_lj_long_tip4p_long.h b/src/KSPACE/pair_lj_long_tip4p_long.h index d863fb885..ef929d198 100755 --- a/src/KSPACE/pair_lj_long_tip4p_long.h +++ b/src/KSPACE/pair_lj_long_tip4p_long.h @@ -1,121 +1,121 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/long/tip4p/long,PairLJLongTIP4PLong) #else #ifndef LMP_PAIR_LJ_LONG_TIP4P_LONG_H #define LMP_PAIR_LJ_LONG_TIP4P_LONG_H #include "pair_lj_long_coul_long.h" namespace LAMMPS_NS { class PairLJLongTIP4PLong : public PairLJLongCoulLong { public: PairLJLongTIP4PLong(class LAMMPS *); ~PairLJLongTIP4PLong(); virtual void compute(int, int); virtual void compute_inner(); virtual void compute_middle(); virtual void compute_outer(int, int); void settings(int, char **); void init_style(); double init_one(int, int); void write_restart_settings(FILE *fp); void read_restart_settings(FILE *fp); void *extract(const char *, int &); double memory_usage(); protected: int typeH,typeO; // atom types of TIP4P water H and O atoms int typeA,typeB; // angle and bond types of TIP4P water double alpha; // geometric constraint parameter for TIP4P int nmax; // info on off-oxygen charge sites int **hneigh; // 0,1 = indices of 2 H associated with O // 2 = 0 if site loc not yet computed, 1 if yes double **newsite; // locations of charge sites void compute_newsite(double *, double *, double *, double *); }; } #endif #endif /* ERROR/WARNING messages: E: TIP4P hydrogen is missing The TIP4P pairwise computation failed to find the correct H atom within a water molecule. 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. E: Illegal ... command 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 Self-explanatory. W: Using largest cutoff for pair_style lj/long/tip4p/long Self-explanatory. E: Coulomb cut not supported in pair_style lj/long/tip4p/long Must use long-range Coulombic interactions. E: Pair style lj/long/tip4p/long 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. E: Pair style lj/long/tip4p/long requires newton pair on This is because the computation of constraint forces within a water molecule adds forces to atoms owned by other processors. E: Pair style lj/long/tip4p/long requires atom attribute q The atom style defined does not have these attributes. E: Must use a bond style with TIP4P potential TIP4P potentials assume bond lengths in water are constrained by a fix shake command. 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/long/tip4p/long This is because LAMMPS does not compute the Lennard-Jones interactions with these particles for efficiency reasons. */ diff --git a/src/KSPACE/pair_tip4p_long.h b/src/KSPACE/pair_tip4p_long.h index e2822e62d..d55859a1c 100644 --- a/src/KSPACE/pair_tip4p_long.h +++ b/src/KSPACE/pair_tip4p_long.h @@ -1,100 +1,100 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(tip4p/long,PairTIP4PLong) #else #ifndef LMP_PAIR_TIP4P_LONG_H #define LMP_PAIR_TIP4P_LONG_H #include "pair_coul_long.h" namespace LAMMPS_NS { class PairTIP4PLong : public PairCoulLong { public: PairTIP4PLong(class LAMMPS *); ~PairTIP4PLong(); virtual void compute(int, int); void settings(int, char **); void init_style(); double init_one(int, int); void write_restart_settings(FILE *fp); void read_restart_settings(FILE *fp); void *extract(const char *, int &); double memory_usage(); protected: int typeH,typeO; // atom types of TIP4P water H and O atoms int typeA,typeB; // angle and bond types of TIP4P water double alpha; // geometric constraint parameter for TIP4P int nmax; // info on off-oxygen charge sites int **hneigh; // 0,1 = indices of 2 H associated with O // 2 = 0 if site loc not yet computed, 1 if yes double **newsite; // locations of charge sites void compute_newsite(double *, double *, double *, double *); }; } #endif #endif /* ERROR/WARNING messages: E: TIP4P hydrogen is missing The TIP4P pairwise computation failed to find the correct H atom within a water molecule. 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. E: Illegal ... command 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: Pair style tip4p/long 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. E: Pair style tip4p/long requires newton pair on This is because the computation of constraint forces within a water molecule adds forces to atoms owned by other processors. E: Pair style tip4p/long requires atom attribute q The atom style defined does not have these attributes. E: Must use a bond style with TIP4P potential TIP4P potentials assume bond lengths in water are constrained by a fix shake command. E: Must use an angle style with TIP4P potential TIP4P potentials assume angles in water are constrained by a fix shake command. */ diff --git a/src/KSPACE/pppm_disp.h b/src/KSPACE/pppm_disp.h index 8b62605b7..5b9e3ecf5 100755 --- a/src/KSPACE/pppm_disp.h +++ b/src/KSPACE/pppm_disp.h @@ -1,547 +1,547 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef KSPACE_CLASS KSpaceStyle(pppm/disp,PPPMDisp) #else #ifndef LMP_PPPM_DISP_H #define LMP_PPPM_DISP_H #include "lmptype.h" #include "mpi.h" #ifdef FFT_SINGLE typedef float FFT_SCALAR; #define MPI_FFT_SCALAR MPI_FLOAT #else typedef double FFT_SCALAR; #define MPI_FFT_SCALAR MPI_DOUBLE #endif #include "kspace.h" namespace LAMMPS_NS { #define EWALD_MAXORDER 6 #define EWALD_FUNCS 4 class PPPMDisp : public KSpace { public: PPPMDisp(class LAMMPS *, int, char **); virtual ~PPPMDisp(); virtual void init(); virtual void setup(); void setup_grid(); virtual void compute(int, int); virtual int timing_1d(int, double &); virtual int timing_3d(int, double &); virtual double memory_usage(); protected: /* ---------------------------------------------------------------------- Variables needed for calculating the 1/r and 1/r^6 potential ------------------------------------------------------------------------- */ int function[EWALD_FUNCS]; int me,nprocs; int nfactors; int *factors; double csumij; double csum; double *csumi; //needed as correction term for per atom calculations! double *cii; int csumflag; double cutoff, cutoff_lj; double volume; double *B; double virial_1[6], virial_6[6]; double sf_coeff[6], sf_coeff_6[6]; int peratom_allocate_flag; int nsplit; int nsplit_alloc; double delxinv,delyinv,delzinv,delvolinv; double delxinv_6,delyinv_6,delzinv_6,delvolinv_6; double shift,shiftone; int nxlo_in,nylo_in,nzlo_in,nxhi_in,nyhi_in,nzhi_in; int nxlo_out,nylo_out,nzlo_out,nxhi_out,nyhi_out,nzhi_out; int nxlo_fft,nylo_fft,nzlo_fft,nxhi_fft,nyhi_fft,nzhi_fft; int nlower,nupper; int ngrid,nfft,nfft_both; double shift_6,shiftone_6; int nxlo_in_6,nylo_in_6,nzlo_in_6,nxhi_in_6,nyhi_in_6,nzhi_in_6; int nxlo_out_6,nylo_out_6,nzlo_out_6,nxhi_out_6,nyhi_out_6,nzhi_out_6; int nxlo_fft_6,nylo_fft_6,nzlo_fft_6,nxhi_fft_6,nyhi_fft_6,nzhi_fft_6; int nlower_6,nupper_6; int ngrid_6,nfft_6,nfft_both_6; //// the following variables are needed for every structure factor FFT_SCALAR ***density_brick; FFT_SCALAR ***vdx_brick,***vdy_brick,***vdz_brick; FFT_SCALAR *density_fft; FFT_SCALAR ***u_brick; FFT_SCALAR ***v0_brick,***v1_brick,***v2_brick,***v3_brick,***v4_brick,***v5_brick; FFT_SCALAR ***density_brick_g; FFT_SCALAR ***vdx_brick_g,***vdy_brick_g,***vdz_brick_g; FFT_SCALAR *density_fft_g; FFT_SCALAR ***u_brick_g; FFT_SCALAR ***v0_brick_g,***v1_brick_g,***v2_brick_g,***v3_brick_g,***v4_brick_g,***v5_brick_g; FFT_SCALAR ***density_brick_a0; FFT_SCALAR ***vdx_brick_a0,***vdy_brick_a0,***vdz_brick_a0; FFT_SCALAR *density_fft_a0; FFT_SCALAR ***u_brick_a0; FFT_SCALAR ***v0_brick_a0,***v1_brick_a0,***v2_brick_a0,***v3_brick_a0,***v4_brick_a0,***v5_brick_a0; FFT_SCALAR ***density_brick_a1; FFT_SCALAR ***vdx_brick_a1,***vdy_brick_a1,***vdz_brick_a1; FFT_SCALAR *density_fft_a1; FFT_SCALAR ***u_brick_a1; FFT_SCALAR ***v0_brick_a1,***v1_brick_a1,***v2_brick_a1,***v3_brick_a1,***v4_brick_a1,***v5_brick_a1; FFT_SCALAR ***density_brick_a2; FFT_SCALAR ***vdx_brick_a2,***vdy_brick_a2,***vdz_brick_a2; FFT_SCALAR *density_fft_a2; FFT_SCALAR ***u_brick_a2; FFT_SCALAR ***v0_brick_a2,***v1_brick_a2,***v2_brick_a2,***v3_brick_a2,***v4_brick_a2,***v5_brick_a2; FFT_SCALAR ***density_brick_a3; FFT_SCALAR ***vdx_brick_a3,***vdy_brick_a3,***vdz_brick_a3; FFT_SCALAR *density_fft_a3; FFT_SCALAR ***u_brick_a3; FFT_SCALAR ***v0_brick_a3,***v1_brick_a3,***v2_brick_a3,***v3_brick_a3,***v4_brick_a3,***v5_brick_a3; FFT_SCALAR ***density_brick_a4; FFT_SCALAR ***vdx_brick_a4,***vdy_brick_a4,***vdz_brick_a4; FFT_SCALAR *density_fft_a4; FFT_SCALAR ***u_brick_a4; FFT_SCALAR ***v0_brick_a4,***v1_brick_a4,***v2_brick_a4,***v3_brick_a4,***v4_brick_a4,***v5_brick_a4; FFT_SCALAR ***density_brick_a5; FFT_SCALAR ***vdx_brick_a5,***vdy_brick_a5,***vdz_brick_a5; FFT_SCALAR *density_fft_a5; FFT_SCALAR ***u_brick_a5; FFT_SCALAR ***v0_brick_a5,***v1_brick_a5,***v2_brick_a5,***v3_brick_a5,***v4_brick_a5,***v5_brick_a5; FFT_SCALAR ***density_brick_a6; FFT_SCALAR ***vdx_brick_a6,***vdy_brick_a6,***vdz_brick_a6; FFT_SCALAR *density_fft_a6; FFT_SCALAR ***u_brick_a6; FFT_SCALAR ***v0_brick_a6,***v1_brick_a6,***v2_brick_a6,***v3_brick_a6,***v4_brick_a6,***v5_brick_a6; FFT_SCALAR ****density_brick_none; FFT_SCALAR ****vdx_brick_none,****vdy_brick_none,****vdz_brick_none; FFT_SCALAR **density_fft_none; FFT_SCALAR ****u_brick_none; FFT_SCALAR ****v0_brick_none,****v1_brick_none,****v2_brick_none,****v3_brick_none,****v4_brick_none,****v5_brick_none; //// needed for each interaction type double *greensfn; double **vg; double **vg2; double *greensfn_6; double **vg_6; double **vg2_6; double *fkx,*fky,*fkz; double *fkx2, *fky2, *fkz2; double *fkx_6, *fky_6, *fkz_6; double *fkx2_6, *fky2_6, *fkz2_6; double *gf_b; double *gf_b_6; double *sf_precoeff1, *sf_precoeff2, *sf_precoeff3, *sf_precoeff4, *sf_precoeff5, *sf_precoeff6; double *sf_precoeff1_6, *sf_precoeff2_6, *sf_precoeff3_6, *sf_precoeff4_6, *sf_precoeff5_6, *sf_precoeff6_6; FFT_SCALAR **rho1d,**rho_coeff; FFT_SCALAR **drho1d, **drho_coeff; FFT_SCALAR **rho1d_6, **rho_coeff_6; FFT_SCALAR **drho1d_6, **drho_coeff_6; FFT_SCALAR *work1,*work2; FFT_SCALAR *work1_6, *work2_6; class FFT3d *fft1,*fft2 ; class FFT3d *fft1_6, *fft2_6; class Remap *remap; class Remap *remap_6; class GridComm *cg; class GridComm *cg_peratom; class GridComm *cg_6; class GridComm *cg_peratom_6; int **part2grid; // storage for particle -> grid mapping int **part2grid_6; int nmax; int triclinic; // domain settings, orthog or triclinic double *boxlo; // TIP4P settings int typeH,typeO; // atom types of TIP4P water H and O atoms double qdist; // distance from O site to negative charge double alpha; // geometric factor void init_coeffs(); int qr_alg(double**, double**, int); void hessenberg(double**, double**, int); void qr_tri(double**, double**, int); void mmult(double**, double**, double**, int); int check_convergence(double**, double**, double**, double**, double**, double**, int); void set_grid(); void set_grid_6(); void set_init_g6(); void set_fft_parameters(int&, int&, int&, int&, int&,int&, int&, int&,int&, int&, int&,int&, int&, int&,int&, int&, int&,int&, int&, int&,int&, int&, int&, int&, int&, int&, double&, double&, int&); void set_n_pppm_6(); void adjust_gewald(); void adjust_gewald_6(); double f(); double derivf(); double f_6(); double derivf_6(); double final_accuracy(); void final_accuracy_6(double&, double&, double&); double lj_rspace_error(); double compute_qopt(); double compute_qopt_6(); double compute_qopt_ik(); double compute_qopt_ad(); double compute_qopt_6_ik(); double compute_qopt_6_ad(); void calc_csum(); virtual void allocate(); virtual void allocate_peratom(); virtual void deallocate(); virtual void deallocate_peratom(); int factorable(int); double rms(double, double, bigint, double, double **); double diffpr(double, double, double, double, double **); void compute_gf_denom(double*, int); double gf_denom(double, double, double, double*, int); void compute_sf_precoeff(int, int, int, int, int, int, int, int, int, int, double*, double*, double*, double*, double*, double*); void compute_gf(); void compute_sf_coeff(); void compute_gf_6(); void compute_sf_coeff_6(); virtual void particle_map(double, double, double, double, int **, int, int, int, int, int, int, int, int); virtual void particle_map_c(double, double, double, double, int **, int, int, int, int, int, int, int, int ); virtual void make_rho_c(); virtual void make_rho_g(); virtual void make_rho_a(); virtual void make_rho_none(); virtual void brick2fft(int, int, int, int, int, int, FFT_SCALAR ***, FFT_SCALAR *, FFT_SCALAR *, LAMMPS_NS::Remap *); virtual void brick2fft_a(); virtual void brick2fft_none(); virtual void poisson_ik(FFT_SCALAR *, FFT_SCALAR *, FFT_SCALAR *, LAMMPS_NS::FFT3d *,LAMMPS_NS::FFT3d *, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, double&, double *, double *, double *, double *, double *, double *, double *, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, double *, double **, double **, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***); virtual void poisson_ad(FFT_SCALAR*, FFT_SCALAR*, FFT_SCALAR*, LAMMPS_NS::FFT3d*,LAMMPS_NS::FFT3d*, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, double&, double*, double*, double**, double**, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***); virtual void poisson_peratom(FFT_SCALAR*, FFT_SCALAR*, LAMMPS_NS::FFT3d*, double**, double**, int, int, int, int, int, int, int, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***); virtual void poisson_2s_ik(FFT_SCALAR *, FFT_SCALAR *, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***); virtual void poisson_2s_ad(FFT_SCALAR *, FFT_SCALAR *, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***); virtual void poisson_2s_peratom(FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***); virtual void poisson_none_ad(int, int, FFT_SCALAR *, FFT_SCALAR *, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ****, FFT_SCALAR ****, FFT_SCALAR ****, FFT_SCALAR ****, FFT_SCALAR ****, FFT_SCALAR ****); virtual void poisson_none_ik(int, int, FFT_SCALAR *, FFT_SCALAR *, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ***, FFT_SCALAR ****, FFT_SCALAR ****, FFT_SCALAR ****, FFT_SCALAR ****, FFT_SCALAR ****, FFT_SCALAR ****, FFT_SCALAR ****); virtual void poisson_none_peratom(int, int, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***, FFT_SCALAR***); virtual void fieldforce_c_ik(); virtual void fieldforce_c_ad(); virtual void fieldforce_c_peratom(); virtual void fieldforce_g_ik(); virtual void fieldforce_g_ad(); virtual void fieldforce_g_peratom(); virtual void fieldforce_a_ik(); virtual void fieldforce_a_ad(); virtual void fieldforce_a_peratom(); virtual void fieldforce_none_ik(); virtual void fieldforce_none_ad(); virtual void fieldforce_none_peratom(); void procs2grid2d(int,int,int,int *, int*); void compute_rho1d(const FFT_SCALAR &, const FFT_SCALAR &, const FFT_SCALAR &, int, FFT_SCALAR **, FFT_SCALAR **); void compute_drho1d(const FFT_SCALAR &, const FFT_SCALAR &, const FFT_SCALAR &, int, FFT_SCALAR **, FFT_SCALAR **); void compute_rho_coeff(FFT_SCALAR **,FFT_SCALAR **, int); void slabcorr(int); // grid communication void pack_forward(int, FFT_SCALAR *, int, int *); void unpack_forward(int, FFT_SCALAR *, int, int *); void pack_reverse(int, FFT_SCALAR *, int, int *); void unpack_reverse(int, FFT_SCALAR *, int, int *); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot use PPPMDisp 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. E: Cannot use nonperiodic boundaries with PPPMDisp 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 Must have periodic x,y dimensions and non-periodic z dimension to use 2d slab option with pppm/disp. E: PPPMDisp coulomb order cannot be greater than %d This is a limitation of the PPPM implementation in LAMMPS. E: KSpace style is incompatible with Pair style Setting a kspace style requires that a pair style with a long-range Coulombic or dispersion component be used. E: Unsupported order in kspace_style pppm/disp, pair_style %s Only pair styles with 1/r and 1/r^6 dependence are currently supported. W: Charges are set, but coulombic solver is not used Self-explanatory. E: Kspace style with selected options requires atom attribute q The atom style defined does not have these attributes. Change the atom style or switch of the coulomb solver. E: Cannot use kspace solver with selected options on system with no charge No atoms in system have a non-zero charge. Change charges or change options of the kspace solver/pair style. W: 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 the long-range Coulombic solvers. E: Bond and angle potentials must be defined for TIP4P Cannot use TIP4P pair potential unless bond and angle potentials are defined. E: Bad TIP4P angle type for PPPMDisp/TIP4P Specified angle type is not valid. E: Bad TIP4P bond type for PPPMDisp/TIP4P Specified bond type is not valid. W: Reducing PPPMDisp Coulomb order b/c stencil extends beyond neighbor processor 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 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 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 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 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: Dispersion PPPMDisp order has been reduced below minorder 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 This is not allowed if the kspace_modify overlap setting is no. E: Matrix factorization to split dispersion coefficients failed This should not normally happen. Contact the developers. W: Error in splitting of dispersion coeffs is estimated %g% Error is greater than 0.0001 percent. W: Simulations might be very slow because of large number of structure factors Self-explanatory. E: Epsilon or sigma reference not set by pair style in PPPMDisp Self-explanatory. E: KSpace accuracy too large to estimate G vector Reduce the accuracy request or specify gwald explicitly via the kspace_modify command. E: Could not compute grid size for Coulomb interaction 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 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 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: Cannot compute initial g_ewald_disp 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 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 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 "neighbor skin distance"_neighbor.html without neighbor lists being rebuilt and atoms being migrated to new processors. This also means you may be missing pairwise interactions that need to be computed. The solution is to change the re-neighboring criteria via the "neigh_modify"_neigh_modify command. The safest settings are "delay 0 every 1 check yes". Second, it may mean that an atom has moved far 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. */ diff --git a/src/KSPACE/pppm_disp_tip4p.h b/src/KSPACE/pppm_disp_tip4p.h index d08b82b0e..52e9dde9d 100755 --- a/src/KSPACE/pppm_disp_tip4p.h +++ b/src/KSPACE/pppm_disp_tip4p.h @@ -1,83 +1,83 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef KSPACE_CLASS KSpaceStyle(pppm/disp/tip4p,PPPMDispTIP4P) #else #ifndef LMP_PPPM_DISP_TIP4P_H #define LMP_PPPM_DISP_TIP4P_H #include "pppm_disp.h" namespace LAMMPS_NS { class PPPMDispTIP4P : public PPPMDisp { public: PPPMDispTIP4P(class LAMMPS *, int, char **); virtual ~PPPMDispTIP4P () {}; void init(); protected: virtual void particle_map_c(double, double, double, double, int **, int, int, int, int, int, int, int, int); virtual void make_rho_c(); virtual void fieldforce_c_ik(); virtual void fieldforce_c_ad(); virtual void fieldforce_c_peratom(); private: void find_M(int, int &, int &, double *); }; } #endif #endif /* ERROR/WARNING messages: E: Kspace style pppm/disp/tip4p requires newton on Self-explanatory. E: Out of range atoms - cannot compute PPPM 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 "neighbor skin distance"_neighbor.html without neighbor lists being rebuilt and atoms being migrated to new processors. This also means you may be missing pairwise interactions that need to be computed. The solution is to change the re-neighboring criteria via the "neigh_modify"_neigh_modify command. The safest settings are "delay 0 every 1 check yes". Second, it may mean that an atom has moved far 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. E: TIP4P hydrogen is missing The TIP4P pairwise computation failed to find the correct H atom within a water molecule. 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. */ diff --git a/src/KSPACE/pppm_tip4p.h b/src/KSPACE/pppm_tip4p.h index a6d4a51cf..3284b807a 100644 --- a/src/KSPACE/pppm_tip4p.h +++ b/src/KSPACE/pppm_tip4p.h @@ -1,81 +1,81 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef KSPACE_CLASS KSpaceStyle(pppm/tip4p,PPPMTIP4P) #else #ifndef LMP_PPPM_TIP4P_H #define LMP_PPPM_TIP4P_H #include "pppm.h" namespace LAMMPS_NS { class PPPMTIP4P : public PPPM { public: PPPMTIP4P(class LAMMPS *, int, char **); virtual ~PPPMTIP4P () {}; void init(); protected: virtual void particle_map(); virtual void make_rho(); virtual void fieldforce_ik(); virtual void fieldforce_ad(); virtual void fieldforce_peratom(); private: void find_M(int, int &, int &, double *); }; } #endif #endif /* ERROR/WARNING messages: E: Kspace style pppm/tip4p requires newton on Self-explanatory. E: Out of range atoms - cannot compute PPPM 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 "neighbor skin distance"_neighbor.html without neighbor lists being rebuilt and atoms being migrated to new processors. This also means you may be missing pairwise interactions that need to be computed. The solution is to change the re-neighboring criteria via the "neigh_modify"_neigh_modify command. The safest settings are "delay 0 every 1 check yes". Second, it may mean that an atom has moved far 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. E: TIP4P hydrogen is missing The TIP4P pairwise computation failed to find the correct H atom within a water molecule. 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. */ diff --git a/src/MANYBODY/fix_qeq_comb.h b/src/MANYBODY/fix_qeq_comb.h index abaa73d64..0ce0767dd 100644 --- a/src/MANYBODY/fix_qeq_comb.h +++ b/src/MANYBODY/fix_qeq_comb.h @@ -1,86 +1,86 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(qeq/comb,FixQEQComb) #else #ifndef LMP_FIX_QEQ_COMB_H #define LMP_FIX_QEQ_COMB_H #include "stdio.h" #include "fix.h" namespace LAMMPS_NS { class FixQEQComb : public Fix { public: FixQEQComb(class LAMMPS *, int, char **); virtual ~FixQEQComb(); int setmask(); virtual void init(); void setup(int); virtual void post_force(int); void post_force_respa(int,int,int); double memory_usage(); int pack_forward_comm(int , int *, double *, int, int *); void unpack_forward_comm(int , int , double *); void min_post_force(int); protected: int me,firstflag; double precision; int nlevels_respa; bigint ngroup; FILE *fp; class PairComb *comb; class PairComb3 *comb3; int nmax; double *qf,*q1,*q2; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot open fix qeq/comb file %s The output file for the fix qeq/combs command cannot be opened. Check that the path and name are correct. E: Fix qeq/comb requires atom attribute q An atom style with charge must be used to perform charge equilibration. E: Must use pair_style comb or comb3 with fix qeq/comb Self-explanatory. E: Fix qeq/comb group has no atoms Self-explanatory. */ diff --git a/src/MANYBODY/pair_adp.h b/src/MANYBODY/pair_adp.h index cb157c993..e4f827563 100644 --- a/src/MANYBODY/pair_adp.h +++ b/src/MANYBODY/pair_adp.h @@ -1,122 +1,122 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(adp,PairADP) #else #ifndef LMP_PAIR_ADP_H #define LMP_PAIR_ADP_H #include "pair.h" namespace LAMMPS_NS { class PairADP : public Pair { public: PairADP(class LAMMPS *); virtual ~PairADP(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); double memory_usage(); protected: int nmax; // allocated size of per-atom arrays double cutforcesq,cutmax; // per-atom arrays double *rho,*fp; double **mu, **lambda; // potentials as array data int nrho,nr; int nfrho,nrhor,nz2r; int nu2r, nw2r; double **frho,**rhor,**z2r; double **u2r, **w2r; int *type2frho,**type2rhor,**type2z2r; int **type2u2r,**type2w2r; // potentials in spline form used for force computation double dr,rdr,drho,rdrho; double ***rhor_spline,***frho_spline,***z2r_spline; double ***u2r_spline, ***w2r_spline; // potentials as file data int *map; // which element each atom type maps to struct Setfl { char **elements; int nelements,nrho,nr; double drho,dr,cut; double *mass; double **frho,**rhor,***z2r; double ***u2r, ***w2r; }; Setfl *setfl; void allocate(); void array2spline(); void interpolate(int, double, double *, double **); void grab(FILE *, int, double *); void read_file(char *); void file2array(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: No matching element in ADP potential file The ADP potential file does not contain elements that match the requested elements. E: Cannot open ADP potential file %s The specified ADP potential file cannot be opened. Check that the path and name are correct. E: Incorrect element names in ADP potential file The element names in the ADP file do not match those requested. */ diff --git a/src/MANYBODY/pair_airebo.h b/src/MANYBODY/pair_airebo.h index 619c97ba4..8a6e52fea 100644 --- a/src/MANYBODY/pair_airebo.h +++ b/src/MANYBODY/pair_airebo.h @@ -1,215 +1,215 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(airebo,PairAIREBO) #else #ifndef LMP_PAIR_AIREBO_H #define LMP_PAIR_AIREBO_H #include "pair.h" #include "my_page.h" #include "math.h" #include "math_const.h" namespace LAMMPS_NS { class PairAIREBO : public Pair { public: PairAIREBO(class LAMMPS *); virtual ~PairAIREBO(); virtual void compute(int, int); virtual void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); double memory_usage(); protected: int *map; // 0 (C), 1 (H), or -1 (NULL) for each type int me; int ljflag,torflag; // 0/1 if LJ,torsion terms included double cutlj; // user-specified LJ cutoff double cutljrebosq; // cut for when to compute // REBO neighs of ghost atoms double **cutljsq; // LJ cutoffs for C,H types double **lj1,**lj2,**lj3,**lj4; // pre-computed LJ coeffs for C,H types double cut3rebo; // maximum distance for 3rd REBO neigh int maxlocal; // size of numneigh, firstneigh arrays int pgsize; // size of neighbor page int oneatom; // max # of neighbors for one atom MyPage *ipage; // neighbor list pages int *REBO_numneigh; // # of pair neighbors for each atom int **REBO_firstneigh; // ptr to 1st neighbor of each atom double *closestdistsq; // closest owned atom dist to each ghost double *nC,*nH; // sum of weighting fns with REBO neighs double smin,Nmin,Nmax,NCmin,NCmax,thmin,thmax; double rcmin[2][2],rcmax[2][2],rcmaxsq[2][2],rcmaxp[2][2]; double Q[2][2],alpha[2][2],A[2][2],rho[2][2],BIJc[2][2][3],Beta[2][2][3]; double rcLJmin[2][2],rcLJmax[2][2],rcLJmaxsq[2][2],bLJmin[2][2],bLJmax[2][2]; double epsilon[2][2],sigma[2][2],epsilonT[2][2]; // spline coefficients double gCdom[5],gC1[4][6],gC2[4][6],gHdom[4],gH[3][6]; double pCCdom[2][2],pCHdom[2][2],pCC[4][4][16],pCH[4][4][16]; double piCCdom[3][2],piCHdom[3][2],piHHdom[3][2]; double piCC[4][4][9][64],piCH[4][4][9][64],piHH[4][4][9][64]; double Tijdom[3][2],Tijc[4][4][9][64]; // spline knot values double PCCf[5][5],PCCdfdx[5][5],PCCdfdy[5][5],PCHf[5][5]; double PCHdfdx[5][5],PCHdfdy[5][5]; double piCCf[5][5][11],piCCdfdx[5][5][11]; double piCCdfdy[5][5][11],piCCdfdz[5][5][11]; double piCHf[5][5][11],piCHdfdx[5][5][11]; double piCHdfdy[5][5][11],piCHdfdz[5][5][11]; double piHHf[5][5][11],piHHdfdx[5][5][11]; double piHHdfdy[5][5][11],piHHdfdz[5][5][11]; double Tf[5][5][10],Tdfdx[5][5][10],Tdfdy[5][5][10],Tdfdz[5][5][10]; void REBO_neigh(); void FREBO(int, int); void FLJ(int, int); void TORSION(int, int); double bondorder(int, int, double *, double, double, double **, int); double bondorderLJ(int, int, double *, double, double, double *, double, double **, int); double gSpline(double, double, int, double *, double *); double PijSpline(double, double, int, int, double *); double piRCSpline(double, double, double, int, int, double *); double TijSpline(double, double, double, double *); void read_file(char *); double Sp5th(double, double *, double *); double Spbicubic(double, double, double *, double *); double Sptricubic(double, double, double, double *, double *); void spline_init(); void allocate(); // ---------------------------------------------------------------------- // S'(t) and S(t) cutoff functions // added to header for inlining // ---------------------------------------------------------------------- /* ---------------------------------------------------------------------- cutoff function Sprime return cutoff and dX = derivative no side effects ------------------------------------------------------------------------- */ inline double Sp(double Xij, double Xmin, double Xmax, double &dX) const { double cutoff; double t = (Xij-Xmin) / (Xmax-Xmin); if (t <= 0.0) { cutoff = 1.0; dX = 0.0; } else if (t >= 1.0) { cutoff = 0.0; dX = 0.0; } else { cutoff = 0.5 * (1.0+cos(t*MathConst::MY_PI)); dX = (-0.5*MathConst::MY_PI*sin(t*MathConst::MY_PI)) / (Xmax-Xmin); } return cutoff; }; /* ---------------------------------------------------------------------- LJ cutoff function Sp2 return cutoff and dX = derivative no side effects ------------------------------------------------------------------------- */ inline double Sp2(double Xij, double Xmin, double Xmax, double &dX) const { double cutoff; double t = (Xij-Xmin) / (Xmax-Xmin); if (t <= 0.0) { cutoff = 1.0; dX = 0.0; } else if (t >= 1.0) { cutoff = 0.0; dX = 0.0; } else { cutoff = (1.0-(t*t*(3.0-2.0*t))); dX = 6.0*(t*t-t) / (Xmax-Xmin); } return cutoff; }; /* kronecker delta function returning a double */ inline double kronecker(const int a, const int b) const { return (a == b) ? 1.0 : 0.0; }; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style AIREBO requires atom IDs This is a requirement to use the AIREBO potential. E: Pair style AIREBO requires newton pair on See the newton command. This is a restriction to use the AIREBO potential. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. E: Neighbor list overflow, boost neigh_modify one There are too many neighbors of a single atom. Use the neigh_modify command to increase the max number of neighbors allowed for one atom. You may also want to boost the page size. E: Cannot open AIREBO potential file %s The specified AIREBO potential file cannot be opened. Check that the path and name are correct. */ diff --git a/src/MANYBODY/pair_bop.h b/src/MANYBODY/pair_bop.h index fa6f4f1ce..483884a93 100644 --- a/src/MANYBODY/pair_bop.h +++ b/src/MANYBODY/pair_bop.h @@ -1,265 +1,265 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. The this work follows the formulation from (a) D.G. Pettifor, et al., Mat. Sci. and Eng. A365, 2-13, (2004) and (b) D.A. Murdick, et al., Phys. Rev. B 73, 045206 (2006). (c) D.K. Ward, et al., Phys. Rev. B 85, 115206 (2012) See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(bop,PairBOP) #else #ifndef LMP_PAIR_BOP_H #define LMP_PAIR_BOP_H #include "pair.h" #include "update.h" namespace LAMMPS_NS { class PairBOP : public Pair { public: PairBOP(class LAMMPS *); virtual ~PairBOP(); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); double memory_usage(); private: int me; int maxneigh; // maximum size of neighbor list on this processor int update_list; // check for changing maximum size of neighbor list int maxnall; // maximum size of bop neighbor list for allocation int *map; // mapping from atom types to elements int nr; // increments for the BOP potential int nBOt; // second BO increments int bop_types; // number of elments in potential int npairs; // number of element pairs int bop_step; int allocate_pi; int allocate_sigma; int allocate_neigh; int nb_pi,nb_sg; int *BOP_index; // index for neighbor list position int neigh_total; // total number of neighbors stored int *cos_index; // index for neighbor cosine if not using on the fly int *neigh_flag; // index for neighbor cosine if not using on the fly int cos_total; // number of cosines stored if not using on the fly int neigh_ct; // limit for large arrays /*Parameters variables*/ int ncutoff,nfunc; int a_flag; double *pi_a,*pro_delta,*pi_delta; double *pi_p,*pi_c,*sigma_r0,*pi_r0,*phi_r0; double *sigma_rc,*pi_rc,*phi_rc,*r1,*sigma_beta0; double *pi_beta0,*phi0,*sigma_n,*pi_n,*phi_m; double *sigma_nc,*pi_nc,*phi_nc; double *pro,*sigma_delta,*sigma_c,*sigma_a; double ***sigma_g0,***sigma_g1,***sigma_g2,***sigma_g3; double ***sigma_g4,*sigma_f,*sigma_k,*small3; double small1,small2,small3g,small4,small5,small6,small7; double which,alpha,alpha1,beta1,gamma1,alpha2,beta2,alpha3; double beta3,rsmall,rbig,rcore; char **words; double cutmax; //max cutoff for all elements int otfly; //Defines whether to do on the fly //calculations of angles and distances //on the fly will slow down calculations //but requires less memory on = 1, off=0 int table; //determines the method for reading in //potential parameters a preset table //or generate the tables using a spline /* Neigh variables */ double *rcut,*dr,*rdr; double **disij,*rij; /*Triple variables */ double *cosAng,***dcAng; /*Double variables */ double *betaS,*dBetaS,*betaP; double *dBetaP,*repul,*dRepul; /*Sigma variables */ int **itypeSigBk,*nSigBk; double *sigB; double *sigB1; /*Pi variables */ int **itypePiBk,*nPiBk; double *piB; /*Grids1 variables */ double **pBetaS,**pBetaS1,**pBetaS2,**pBetaS3; double **pBetaS4,**pBetaS5,**pBetaS6; /*Grids2 variables */ double **pBetaP,**pBetaP1,**pBetaP2,**pBetaP3; double **pBetaP4,**pBetaP5,**pBetaP6; /*Grids3 variables */ double **pRepul,**pRepul1,**pRepul2,**pRepul3; double **pRepul4,**pRepul5,**pRepul6; /*Grids4 variables */ double **FsigBO,**FsigBO1,**FsigBO2,**FsigBO3; double **FsigBO4,**FsigBO5,**FsigBO6; double dBO,rdBO; /* End of BOP variables */ double **rcmin,**rcmax,**rcmaxp; struct B_PI{ double dAA[3]; double dBB[3]; double dPiB[3]; int temp; int i; int j; }; B_PI *bt_pi; struct B_SG{ double dAA[3]; double dBB[3]; double dCC[3]; double dDD[3]; double dEE[3]; double dEE1[3]; double dFF[3]; double dAAC[3]; double dBBC[3]; double dCCC[3]; double dDDC[3]; double dEEC[3]; double dFFC[3]; double dGGC[3]; double dUT[3]; double dSigB1[3]; double dSigB[3]; int temp; int i; int j; }; B_SG *bt_sg; void setPbetaS(); void setPbetaP(); void setPrepul(); void setSign(); void gneigh(); void theta(); void theta_mod(); void sigmaBo(); void PiBo(); void sigmaBo_otf(); void PiBo_otf(); void sigmaBo_noa(); void sigmaBo_noa_otf(); void memory_theta_create(); void memory_theta_destroy(); void memory_theta_grow(); double cutoff(double, double, int, double); double betaSfunc(int, double); double dBetaSfunc(int, double, double, double); double betaPfunc(int, double); double dBetaPfunc(int, double, double, double); double repulfunc(int, double); double dRepulfunc(int, double, double, double); void read_file(char *); void read_table(char *); void allocate(); void create_pi(int); void create_sigma(int); void destroy_pi(); void destroy_sigma(); void grow_pi(int,int); void grow_sigma(int,int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style BOP requires atom IDs This is a requirement to use the BOP potential. E: Pair style BOP requires newton pair on See the newton command. This is a restriction to use the BOP potential. E: Pair style bop requires comm ghost cutoff at least 3x larger than %g Use the communicate ghost command to set this. See the pair bop doc page for more details. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. E: Too many atom pairs for pair bop The number of atomic pairs exceeds the expected number. Check your atomic structure to ensure that it is realistic. E: Too many atom triplets for pair bop The number of three atom groups for angle determinations exceeds the expected number. Check your atomic structrure to ensure that it is realistic. E: Cannot open BOP potential file %s The specified BOP potential file cannot be opened. Check that the path and name are correct. */ diff --git a/src/MANYBODY/pair_comb.h b/src/MANYBODY/pair_comb.h index 5e7b243b7..d4dd8a4bc 100644 --- a/src/MANYBODY/pair_comb.h +++ b/src/MANYBODY/pair_comb.h @@ -1,254 +1,254 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(comb,PairComb) #else #ifndef LMP_PAIR_COMB_H #define LMP_PAIR_COMB_H #include "pair.h" #include "my_page.h" namespace LAMMPS_NS { class PairComb : public Pair { public: PairComb(class LAMMPS *); virtual ~PairComb(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); double memory_usage(); virtual double yasu_char(double *, int &); protected: struct Param { double lam11,lam12,lam21,lam22; double c,d,h; double gamma,powerm; double powern,beta; double biga1,biga2,bigb1,bigb2; double bigd,bigr; double cut,cutsq; double c1,c2,c3,c4; double plp1,plp3,plp6,a123,aconf; double rlm1,rlm2; double romiga,romigb,romigc,romigd,addrep; double QU1,QL1,DU1,DL1,Qo1,dQ1,aB1,bB1,nD1,bD1; double QU2,QL2,DU2,DL2,Qo2,dQ2,aB2,bB2,nD2,bD2; double chi,dj,dk,dl,dm,esm1,esm2,cmn1,cmn2,cml1,cml2; double coulcut, lcut, lcutsq, hfocor; int ielement,jelement,kelement; int powermint; }; double cutmax; // max cutoff for all elements int nelements; // # of unique elements char **elements; // names of unique elements int ***elem2param; // mapping from element triplets to parameters int *map; // mapping from atom types to elements int nparams; // # of stored parameter sets int maxparam; // max # of parameter sets double precision; Param *params; // parameter set for an I-J-K interaction int nmax; double *qf; double *esm, **fafb, **dfafb, **ddfafb, **phin, **dphin, **erpaw; double *charge; int **intype, *typeno; int *NCo, cor_flag, cuo_flag, cuo_flag1, cuo_flag2; double **bbij; int pgsize; // size of neighbor page int oneatom; // max # of neighbors for one atom int *sht_num,**sht_first; // short-range neighbor list MyPage *ipage; // neighbor list pages double cutmin; void allocate(); virtual void read_file(char *); void setup(); virtual void repulsive(Param *, double, double &, int, double &, double, double); double zeta(Param *, double, double, double *, double *); void force_zeta(Param *, int, int, int, double, double, double, double, double &, double &, double &); void attractive(Param *, double, double, double, double *, double *, double *, double *, double *); double elp(Param *, double, double, double *, double *); void flp(Param *, double, double, double *, double *, double *, double *, double *); double comb_fc(double, Param *); double comb_fc_d(double, Param *); double comb_fc2(double); double comb_fc2_d(double); double comb_fc3(double); double comb_fc3_d(double); virtual double comb_fa(double, Param *, double,double); virtual double comb_fa_d(double, Param *, double,double); double comb_bij(double, Param *); double comb_bij_d(double, Param *); inline double comb_gijk(const double costheta, const Param * const param) const { const double comb_c = param->c * param->c; const double comb_d = param->d * param->d; const double hcth = param->h - costheta; return param->gamma*(1.0 + comb_c/comb_d - comb_c / (comb_d + hcth*hcth)); } inline double comb_gijk_d(const double costheta, const Param * const param) const { const double comb_c = param->c * param->c; const double comb_d = param->d * param->d; const double hcth = param->h - costheta; const double numerator = -2.0 * comb_c * hcth; const double denominator = 1.0/(comb_d + hcth*hcth); return param->gamma*numerator*denominator*denominator; } void comb_zetaterm_d(double, double *, double, double *, double, double *, double *, double *, Param *); void costheta_d(double *, double, double *, double, double *, double *, double *); double self(Param *, double, double); void sm_table(); void potal_calc(double &, double &, double &); void tri_point(double, int &, int &, int &, double &, double &, double &, int &); void direct(int,int,int,int,double,double,double,double,double,double, double,double,double,double &,double &); void field(Param *,double,double,double,double &,double &); double qfo_self(Param *, double, double); void qfo_short(Param *, int, int, double, double, double, double &, double &); void qfo_direct (int, int, int, int, double, double, double, double, double, double &); void qfo_field(Param *, double,double ,double ,double &, double &); void qsolve(double *); void Over_cor(Param *, double, int, double &, double &); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); int pack_forward_comm(int , int *, double *, int, int *); void unpack_forward_comm(int , int , double *); void Short_neigh(); // vector functions, inline for efficiency inline double vec3_dot(const double x[3], const double y[3]) const { return x[0]*y[0] + x[1]*y[1] + x[2]*y[2]; } inline void vec3_add(const double x[3], const double y[3], double * const z) const { z[0] = x[0]+y[0]; z[1] = x[1]+y[1]; z[2] = x[2]+y[2]; } inline void vec3_scale(const double k, const double x[3], double y[3]) const { y[0] = k*x[0]; y[1] = k*x[1]; y[2] = k*x[2]; } inline void vec3_scaleadd(const double k, const double x[3], const double y[3], double * const z) const { z[0] = k*x[0]+y[0]; z[1] = k*x[1]+y[1]; z[2] = k*x[2]+y[2]; } }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style COMB requires atom IDs This is a requirement to use the AIREBO potential. E: Pair style COMB requires newton pair on See the newton command. This is a restriction to use the COMB potential. E: Pair style COMB requires atom attribute q Self-explanatory. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. E: Cannot open COMB potential file %s The specified COMB potential file cannot be opened. Check that the path and name are correct. E: Incorrect format in COMB potential file Incorrect number of words per line in the potential file. E: Illegal COMB parameter One or more of the coefficients defined in the potential file is invalid. E: Potential file has duplicate entry The potential file for a SW or Tersoff potential has more than one entry for the same 3 ordered elements. E: Potential file is missing an entry The potential file for a SW or Tersoff potential does not have a needed entry. W: Pair COMB charge %.10f with force %.10f hit min barrier Something is possibly wrong with your model. W: Pair COMB charge %.10f with force %.10f hit max barrier Something is possibly wrong with your model. E: Neighbor list overflow, boost neigh_modify one There are too many neighbors of a single atom. Use the neigh_modify command to increase the max number of neighbors allowed for one atom. You may also want to boost the page size. */ diff --git a/src/MANYBODY/pair_comb3.h b/src/MANYBODY/pair_comb3.h index b3b10da18..e6b14ad6c 100644 --- a/src/MANYBODY/pair_comb3.h +++ b/src/MANYBODY/pair_comb3.h @@ -1,333 +1,333 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(comb3,PairComb3) #else #ifndef LMP_PAIR_COMB3_H #define LMP_PAIR_COMB3_H #include "pair.h" #include "my_page.h" namespace LAMMPS_NS { class PairComb3 : public Pair { public: PairComb3(class LAMMPS *); virtual ~PairComb3(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); double memory_usage(); virtual double combqeq(double *, int &); // general potential parameters protected: struct Param { int ielement,jelement,kelement,powermint; int ielementgp,jelementgp,kelementgp; //element group int ang_flag,pcn_flag,rad_flag,tor_flag; //angle, coordination,radical, torsion flag double lami,lambda,alfi,alpha1,alpha2,alpha3,beta; double pcos6,pcos5,pcos4,pcos3,pcos2,pcos1,pcos0; double gamma,powerm,powern,bigA,bigB1,bigB2,bigB3; double bigd,bigr,cut,cutsq,c1,c2,c3,c4; double p6p0,p6p1,p6p2,p6p3,p6p4,p6p5,p6p6; double ptork1,ptork2; double addrepr,addrep, vdwflag; double QU,QL,DU,DL,Qo,dQ,aB,bB,nD,bD,qmin,qmax; double chi,dj,dk,dl,dm,esm,cmn1,cmn2,pcmn1,pcmn2; double coulcut, lcut, lcutsq; double veps, vsig, pcna, pcnb, pcnc, pcnd, polz, curl, pcross; double paaa, pbbb; double curlcut1, curlcut2, curl0; }; // general setups int nelements; // # of unique elements int ***elem2param; // mapping from element triplets to parameters int *map; // mapping from atom types to elements int nparams; // # of stored parameter sets int maxparam; // max # of parameter sets double PI,PI2,PI4,PIsq; // PIs double cutmin; // min cutoff for all elements double cutmax; // max cutoff for all elements double precision; // tolerance for QEq convergence char **elements; // names of unique elements Param *params; // parameter set for an I-J-K interaction int debug_eng1, debug_eng2, debug_fq; // logic controlling debugging outputs int pack_flag; // Short range neighbor list void Short_neigh(); int pgsize, oneatom; int *sht_num, **sht_first; MyPage *ipage; // loop up tables and flags int nmax, **intype; int pol_flag, polar; double *qf, **bbij, *charge, *NCo; double *esm, **fafb, **dfafb, **ddfafb, **phin, **dphin, **erpaw; double **vvdw, **vdvdw; double **afb, **dafb; double **dpl, bytes; double *xcctmp, *xchtmp, *xcotmp; // additional carbon parameters int cflag; int nsplpcn,nsplrad,nspltor; int maxx,maxy,maxz,maxxc,maxyc,maxconj; int maxxcn[4]; double vmaxxcn[4],dvmaxxcn[4]; int ntab; double iin2[16][2],iin3[64][3]; double brad[4], btor[4], bbtor, ptorr; double fi_tor[3], fj_tor[3], fk_tor[3], fl_tor[3]; double radtmp, fi_rad[3], fj_rad[3], fk_rad[3]; double ccutoff[6],ch_a[7]; //COMB3-v18 arrays for CHO // We wanna dynamic arrays // C angle arrays, size = ntab+1 double pang[20001]; double dpang[20001]; double ddpang[20001]; //coordination spline arrays double pcn_grid[4][5][5][5]; double pcn_gridx[4][5][5][5]; double pcn_gridy[4][5][5][5]; double pcn_gridz[4][5][5][5]; double pcn_cubs[4][4][4][4][64]; //coordination spline arrays double rad_grid[3][5][5][11]; double rad_gridx[3][5][5][11]; double rad_gridy[3][5][5][11]; double rad_gridz[3][5][5][11]; double rad_spl[3][4][4][10][64]; //torsion spline arrays double tor_grid[1][5][5][11]; double tor_gridx[1][5][5][11]; double tor_gridy[1][5][5][11]; double tor_gridz[1][5][5][11]; double tor_spl[1][4][4][10][64]; // initialization functions void allocate(); void read_lib(); void setup(); virtual void read_file(char *); // cutoff functions double comb_fc(double, Param *); double comb_fc_d(double, Param *); double comb_fc_curl(double, Param *); double comb_fc_curl_d(double, Param *); double comb_fccc(double); double comb_fccc_d(double); double comb_fcch(double); double comb_fcch_d(double); double comb_fccch(double); double comb_fccch_d(double); double comb_fcsw(double); // short range terms void attractive(Param *, Param *, Param *, double, double, double, double, double, double, double, double *, double *, double *, double *, double *, int, double); virtual void comb_fa(double, Param *, Param *, double, double, double &, double &); virtual void repulsive(Param *, Param *,double, double &, int, double &, double, double); // bond order terms double comb_bij(double, Param *, double, int, double); double comb_gijk(double, Param *, double); void comb_gijk_d(double, Param *, double, double &, double &); double zeta(Param *, Param *, double, double, double *, double *, int, double); void comb_bij_d(double, Param *, double, int, double &, double &, double &, double &, double &, double &, double); void coord(Param *, double, int, double &, double &, double &, double &, double &, double); void comb_zetaterm_d(double, double, double, double, double, double *, double, double *, double, double *, double *, double *, Param *, Param *, Param *, double); void costheta_d(double *, double, double *, double, double *, double *, double *); void force_zeta(Param *, Param *, double, double, double, double &, double &, double &, double &, double &, double &, double &, double &, double &, double &, double &, double &, double &, int, double &, double,double, int, int, int, double , double , double); void cntri_int(int, double, double, double, int, int, int, double &, double &, double &, double &, Param *); // Legendre polynomials void selfp6p(Param *, Param *, double, double &, double &); double ep6p(Param *, Param *, double, double, double *, double * ,double &); void fp6p(Param *, Param *, double, double, double *, double *, double *, double *, double *); // long range q-dependent terms double self(Param *, double); void tables(); void potal_calc(double &, double &, double &); void tri_point(double, int &, int &, int &, double &, double &, double &); void vdwaals(int,int,int,int,double,double,double,double, double &, double &); void direct(Param *, Param *, int,int,int,double,double, double,double,double,double, double,double,double &,double &, int, int); void field(Param *, Param *,double,double,double,double &,double &); int heaviside(double); double switching(double); double switching_d(double); double chicut1, chicut2; // radical terms double rad_init(double, Param *, int, double &, double); void rad_calc(double, Param *, Param *, double, double, int, int, double, double); void rad_int(int , double, double, double, int, int, int, double &, double &, double &, double &); void rad_forceik(Param *, double, double *, double, double); void rad_force(Param *, double, double *, double); // torsion terms double bbtor1(int, Param *, Param *, double, double, double, double *, double *, double *, double); //modified by TAO void tor_calc(double, Param *, Param *, double, double, int, int, double, double); void tor_int(int , double, double, double, int, int, int, double &, double &, double &, double &); void tor_force(int, Param *, Param *, double, double, double, double, double *, double *, double *); //modified by TAO // charge force terms double qfo_self(Param *, double); void qfo_short(Param *, Param *, double, double, double, double &, double &, int, int, int); void qfo_direct(Param *, Param *, int, int, int, double, double, double, double, double, double &, double &, double, double, int, int); void qfo_field(Param *, Param *,double,double ,double ,double &, double &); void qfo_dipole(double, int, int, int, int, double, double *, double, double, double, double &, double &, int, int); void qsolve(double *); // dipole - polarization terms double dipole_self(Param *, int); void dipole_init(Param *, Param *, double, double *, double, int, int, int, double, double, double, double, double, int , int); void dipole_calc(Param *, Param *, double, double, double, double, double, int, int, int, double, double, double, double, double, int , int, double &, double &, double *); // communication functions int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); int pack_forward_comm(int , int *, double *, int, int *); void unpack_forward_comm(int , int , double *); // vector functions, inline for efficiency inline double vec3_dot(double *x, double *y) { return x[0]*y[0] + x[1]*y[1] + x[2]*y[2]; } inline void vec3_add(double *x, double *y, double *z) { z[0] = x[0]+y[0]; z[1] = x[1]+y[1]; z[2] = x[2]+y[2]; } inline void vec3_scale(double k, double *x, double *y) { y[0] = k*x[0]; y[1] = k*x[1]; y[2] = k*x[2]; } inline void vec3_scaleadd(double k, double *x, double *y, double *z) { z[0] = k*x[0]+y[0]; z[1] = k*x[1]+y[1]; z[2] = k*x[2]+y[2]; } }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style COMB requires atom IDs This is a requirement to use the AIREBO potential. E: Pair style COMB requires newton pair on See the newton command. This is a restriction to use the COMB potential. E: Pair style COMB requires atom attribute q Self-explanatory. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. E: Cannot open COMB potential file %s The specified COMB potential file cannot be opened. Check that the path and name are correct. E: Incorrect format in COMB potential file Incorrect number of words per line in the potential file. E: Illegal COMB parameter One or more of the coefficients defined in the potential file is invalid. E: Potential file has duplicate entry The potential file for a SW or Tersoff potential has more than one entry for the same 3 ordered elements. E: Potential file is missing an entry The potential file for a SW or Tersoff potential does not have a needed entry. W: Pair COMB charge %.10f with force %.10f hit min barrier Something is possibly wrong with your model. W: Pair COMB charge %.10f with force %.10f hit max barrier Something is possibly wrong with your model. */ diff --git a/src/MANYBODY/pair_eam.h b/src/MANYBODY/pair_eam.h index 461d27785..87e256319 100644 --- a/src/MANYBODY/pair_eam.h +++ b/src/MANYBODY/pair_eam.h @@ -1,133 +1,133 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(eam,PairEAM) #else #ifndef LMP_PAIR_EAM_H #define LMP_PAIR_EAM_H #include "stdio.h" #include "pair.h" namespace LAMMPS_NS { class PairEAM : public Pair { public: // public variables so USER-ATC package can access them double cutmax; // potentials as array data int nrho,nr; int nfrho,nrhor,nz2r; double **frho,**rhor,**z2r; int *type2frho,**type2rhor,**type2z2r; // potentials in spline form used for force computation double dr,rdr,drho,rdrho,rhomax; double ***rhor_spline,***frho_spline,***z2r_spline; PairEAM(class LAMMPS *); virtual ~PairEAM(); virtual void compute(int, int); void settings(int, char **); virtual void coeff(int, char **); void init_style(); double init_one(int, int); double single(int, int, int, int, double, double, double, double &); virtual int pack_forward_comm(int, int *, double *, int, int *); virtual void unpack_forward_comm(int, int, double *); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); double memory_usage(); void swap_eam(double *, double **); protected: int nmax; // allocated size of per-atom arrays double cutforcesq; // per-atom arrays double *rho,*fp; // potentials as file data int *map; // which element each atom type maps to struct Funcfl { char *file; int nrho,nr; double drho,dr,cut,mass; double *frho,*rhor,*zr; }; Funcfl *funcfl; int nfuncfl; struct Setfl { char **elements; int nelements,nrho,nr; double drho,dr,cut; double *mass; double **frho,**rhor,***z2r; }; Setfl *setfl; struct Fs { char **elements; int nelements,nrho,nr; double drho,dr,cut; double *mass; double **frho,***rhor,***z2r; }; Fs *fs; void allocate(); void array2spline(); void interpolate(int, double, double *, double **); void grab(FILE *, int, double *); virtual void read_file(char *); virtual void file2array(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Cannot open EAM potential file %s The specified EAM potential file cannot be opened. Check that the path and name are correct. */ diff --git a/src/MANYBODY/pair_eam_alloy.h b/src/MANYBODY/pair_eam_alloy.h index 986f4bbb3..54a21e7e4 100644 --- a/src/MANYBODY/pair_eam_alloy.h +++ b/src/MANYBODY/pair_eam_alloy.h @@ -1,65 +1,65 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(eam/alloy,PairEAMAlloy) #else #ifndef LMP_PAIR_EAM_ALLOY_H #define LMP_PAIR_EAM_ALLOY_H #include "pair_eam.h" namespace LAMMPS_NS { // need virtual public b/c of how eam/alloy/opt inherits from it class PairEAMAlloy : virtual public PairEAM { public: PairEAMAlloy(class LAMMPS *); virtual ~PairEAMAlloy() {} void coeff(int, char **); protected: void read_file(char *); void file2array(); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args for pair coefficients Self-explanatory. Check the input script or data file. E: No matching element in EAM potential file The EAM potential file does not contain elements that match the requested elements. E: Cannot open EAM potential file %s The specified EAM potential file cannot be opened. Check that the path and name are correct. E: Incorrect element names in EAM potential file The element names in the EAM file do not match those requested. */ diff --git a/src/MANYBODY/pair_eam_fs.h b/src/MANYBODY/pair_eam_fs.h index 08cc07200..80560f073 100644 --- a/src/MANYBODY/pair_eam_fs.h +++ b/src/MANYBODY/pair_eam_fs.h @@ -1,65 +1,65 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(eam/fs,PairEAMFS) #else #ifndef LMP_PAIR_EAM_FS_H #define LMP_PAIR_EAM_FS_H #include "pair_eam.h" namespace LAMMPS_NS { // need virtual public b/c of how eam/fs/opt inherits from it class PairEAMFS : virtual public PairEAM { public: PairEAMFS(class LAMMPS *); virtual ~PairEAMFS() {} void coeff(int, char **); protected: void read_file(char *); void file2array(); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args for pair coefficients Self-explanatory. Check the input script or data file. E: No matching element in EAM potential file The EAM potential file does not contain elements that match the requested elements. E: Cannot open EAM potential file %s The specified EAM potential file cannot be opened. Check that the path and name are correct. E: Incorrect element names in EAM potential file The element names in the EAM file do not match those requested. */ diff --git a/src/MANYBODY/pair_eim.h b/src/MANYBODY/pair_eim.h index 95f7cd47c..92261bb39 100644 --- a/src/MANYBODY/pair_eim.h +++ b/src/MANYBODY/pair_eim.h @@ -1,132 +1,132 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(eim,PairEIM) #else #ifndef LMP_PAIR_EIM_H #define LMP_PAIR_EIM_H #include "stdio.h" #include "pair.h" namespace LAMMPS_NS { class PairEIM : public Pair { public: PairEIM(class LAMMPS *); virtual ~PairEIM(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); double memory_usage(); protected: double **cutforcesq,cutmax; int nmax; double *rho,*fp; int rhofp; int *map; // which element each atom type maps to int nelements; // # of elements to read from potential file char **elements; // element names struct Setfl { double division,rbig,rsmall; int nr; int *ielement,*tp; double *mass,*negativity,*ra,*ri,*Ec,*q0; double *rcutphiA,*rcutphiR,*Eb,*r0,*alpha,*beta, *rcutq,*Asigma,*rq,*rcutsigma,*Ac,*zeta, *rs; double dr,cut; double ***Fij,***Gij,***phiij; double **cuts; }; Setfl *setfl; // potentials as array data int nr; int nFij,nGij,nphiij; double **Fij,**Gij,**phiij; int **type2Fij,**type2Gij,**type2phiij; // potentials in spline form used for force computation double dr,rdr; double *negativity,*q0; double ***Fij_spline,***Gij_spline,***phiij_spline; void allocate(); void array2spline(); void interpolate(int, double, double *, double **, double); int grabglobal(FILE *); int grabsingle(FILE *, int); int grabpair(FILE *, int, int); double funccutoff(double, double, double); double funcphi(int, int, double); double funcsigma(int, int, double); double funccoul(int, int, double); void read_file(char *); void deallocate_setfl(); void file2array(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Cannot open EIM potential file %s The specified EIM potential file cannot be opened. Check that the path and name are correct. E: Could not grab global entry from EIM potential file Self-explanatory. E: Could not grab element entry from EIM potential file Self-explanatory E: Could not grab pair entry from EIM potential file Self-explanatory. */ diff --git a/src/MANYBODY/pair_lcbop.h b/src/MANYBODY/pair_lcbop.h index 339b1bcd4..6acd3a2f4 100644 --- a/src/MANYBODY/pair_lcbop.h +++ b/src/MANYBODY/pair_lcbop.h @@ -1,207 +1,207 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lcbop,PairLCBOP) #else #ifndef LMP_PAIR_LCBOP_H #define LMP_PAIR_LCBOP_H #include "pair.h" #include "my_page.h" #include "math.h" #include "math_const.h" namespace LAMMPS_NS { class PairLCBOP : public Pair { public: PairLCBOP(class LAMMPS *); virtual ~PairLCBOP(); virtual void compute(int, int); virtual void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); double memory_usage(); protected: int **pages; // neighbor list pages int *map; // 0 (C) or -1 (NULL) for each type int me; double cutLR; // LR cutoff double cutLRsq; // LR cutoff squared double cut3rebo; // maximum distance for 3rd SR neigh int maxlocal; // size of numneigh, firstneigh arrays int maxpage; // # of pages currently allocated int pgsize; // size of neighbor page int oneatom; // max # of neighbors for one atom MyPage *ipage; // neighbor list pages int *SR_numneigh; // # of pair neighbors for each atom int **SR_firstneigh; // ptr to 1st neighbor of each atom double *N; // sum of cutoff fns ( f_C ) with SR neighs double *M; // sum_j f_C_ij*F(N_j - f_C_ij) double r_1, r_2, gamma_1, A, B_1, B_2, alpha, beta_1, beta_2, d, C_1, C_4, C_6, L, kappa, R_0, R_1, r_0, r_1_LR, r_2_LR, v_1, v_2, eps_1, eps_2, lambda_1, lambda_2, eps, delta; double r_2_sq; // splines coefficients struct TF_conj_field { double f_00, f_01, f_10, f_11, f_x_00, f_x_01, f_x_10, f_x_11, f_y_00, f_y_01, f_y_10, f_y_11; } F_conj_field[3][3][2]; double F_conj_data[4][4][2][3]; // temporary data from file double gX[6]; // x coordinates for described points[# of points]; double gC[5+1][6-1]; // coefficients for each period between described points [degree of polynomial+1][# of points-1] void SR_neigh(); void FSR(int, int); void FLR(int, int); void FNij( int, int, double, double**, int ); void FMij( int, int, double, double**, int ); double bondorder( int, int, double*, double, double, double**, int ); double b ( int, int, double*, double, double, double**, int ); double gSpline( double, double* ); double hSpline( double, double* ); void g_decompose_x( double, size_t*, double* ); double F_conj( double, double, double, double*, double*, double* ); void read_file( char * ); void spline_init(); void allocate(); // ---------------------------------------------------------------------- // S'(t) and S(t) cutoff functions // added to header for inlining // ---------------------------------------------------------------------- /* ---------------------------------------------------------------------- short range cutoff function return cutoff and dX = derivative no side effects ------------------------------------------------------------------------- */ inline double f_c(double Xij, double Xmin, double Xmax, double *dX) const { double cutoff; double t = (Xij-Xmin) / (Xmax-Xmin); if (t <= 0.0) { cutoff = 1.0; *dX = 0.0; } else if (t >= 1.0) { cutoff = 0.0; *dX = 0.0; } else { double z = t*t*t-1; cutoff = exp( gamma_1*t*t*t/z ); *dX = cutoff * (-3*gamma_1*t*t)/z/z / (Xmax-Xmin); } return cutoff; }; /* ---------------------------------------------------------------------- long range cutoff function return cutoff and dX = derivative no side effects ------------------------------------------------------------------------- */ inline double f_c_LR(double Xij, double Xmin, double Xmax, double *dX) const { double cutoff; double t = (Xij-Xmin) / (Xmax-Xmin); if (t <= 0.0) { cutoff = 1.0; //dX = 0.0; this way the derivative is inherited from previous cut off function call } else if (t >= 1.0) { cutoff = 0.0; *dX = 0.0; } else { cutoff = ( 1.0+cos(MathConst::MY_PI*t) )/2.0; *dX = -MathConst::MY_PI*sin(MathConst::MY_PI*t)/2/(Xmax-Xmin); } return cutoff; }; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style LCBOP requires atom IDs This is a requirement to use the LCBOP potential. E: Pair style LCBOP requires newton pair on See the newton command. This is a restriction to use the Tersoff potential. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. E: Neighbor list overflow, boost neigh_modify one There are too many neighbors of a single atom. Use the neigh_modify command to increase the max number of neighbors allowed for one atom. You may also want to boost the page size. E: Cannot open LCBOP potential file %s The specified LCBOP potential file cannot be opened. Check that the path and name are correct. */ diff --git a/src/MANYBODY/pair_rebo.h b/src/MANYBODY/pair_rebo.h index 75e9d8037..be1e1f0b5 100644 --- a/src/MANYBODY/pair_rebo.h +++ b/src/MANYBODY/pair_rebo.h @@ -1,46 +1,46 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(rebo,PairREBO) #else #ifndef LMP_PAIR_REBO_H #define LMP_PAIR_REBO_H #include "pair_airebo.h" namespace LAMMPS_NS { class PairREBO : public PairAIREBO { public: PairREBO(class LAMMPS *); void settings(int, char **); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/MANYBODY/pair_sw.h b/src/MANYBODY/pair_sw.h index c0e40e247..ff3b6062d 100755 --- a/src/MANYBODY/pair_sw.h +++ b/src/MANYBODY/pair_sw.h @@ -1,122 +1,122 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(sw,PairSW) #else #ifndef LMP_PAIR_SW_H #define LMP_PAIR_SW_H #include "pair.h" namespace LAMMPS_NS { class PairSW : public Pair { public: PairSW(class LAMMPS *); virtual ~PairSW(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); virtual double init_one(int, int); virtual void init_style(); protected: struct Param { double epsilon,sigma; double littlea,lambda,gamma,costheta; double biga,bigb; double powerp,powerq; double tol; double cut,cutsq; double sigma_gamma,lambda_epsilon,lambda_epsilon2; double c1,c2,c3,c4,c5,c6; int ielement,jelement,kelement; }; double cutmax; // max cutoff for all elements int nelements; // # of unique elements char **elements; // names of unique elements int ***elem2param; // mapping from element triplets to parameters int *map; // mapping from atom types to elements int nparams; // # of stored parameter sets int maxparam; // max # of parameter sets Param *params; // parameter set for an I-J-K interaction virtual void allocate(); void read_file(char *); void setup(); void twobody(Param *, double, double &, int, double &); void threebody(Param *, Param *, Param *, double, double, double *, double *, double *, double *, int, double &); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style Stillinger-Weber requires atom IDs This is a requirement to use the SW potential. E: Pair style Stillinger-Weber requires newton pair on See the newton command. This is a restriction to use the SW potential. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. E: Cannot open Stillinger-Weber potential file %s The specified SW potential file cannot be opened. Check that the path and name are correct. E: Incorrect format in Stillinger-Weber potential file Incorrect number of words per line in the potential file. E: Illegal Stillinger-Weber parameter One or more of the coefficients defined in the potential file is invalid. E: Potential file has duplicate entry The potential file for a SW or Tersoff potential has more than one entry for the same 3 ordered elements. E: Potential file is missing an entry The potential file for a SW or Tersoff potential does not have a needed entry. */ diff --git a/src/MANYBODY/pair_tersoff.h b/src/MANYBODY/pair_tersoff.h index a60d18fd7..469a5f960 100755 --- a/src/MANYBODY/pair_tersoff.h +++ b/src/MANYBODY/pair_tersoff.h @@ -1,183 +1,183 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(tersoff,PairTersoff) #else #ifndef LMP_PAIR_TERSOFF_H #define LMP_PAIR_TERSOFF_H #include "pair.h" namespace LAMMPS_NS { class PairTersoff : public Pair { public: PairTersoff(class LAMMPS *); virtual ~PairTersoff(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); protected: struct Param { double lam1,lam2,lam3; double c,d,h; double gamma,powerm; double powern,beta; double biga,bigb,bigd,bigr; double cut,cutsq; double c1,c2,c3,c4; int ielement,jelement,kelement; int powermint; double Z_i,Z_j; // added for TersoffZBL double ZBLcut,ZBLexpscale; double c5,ca1,ca4; // added for TersoffMOD double powern_del; }; Param *params; // parameter set for an I-J-K interaction char **elements; // names of unique elements int ***elem2param; // mapping from element triplets to parameters int *map; // mapping from atom types to elements double cutmax; // max cutoff for all elements int nelements; // # of unique elements int nparams; // # of stored parameter sets int maxparam; // max # of parameter sets void allocate(); virtual void read_file(char *); virtual void setup(); virtual void repulsive(Param *, double, double &, int, double &); virtual double zeta(Param *, double, double, double *, double *); virtual void force_zeta(Param *, double, double, double &, double &, int, double &); void attractive(Param *, double, double, double, double *, double *, double *, double *, double *); virtual double ters_fc(double, Param *); virtual double ters_fc_d(double, Param *); virtual double ters_fa(double, Param *); virtual double ters_fa_d(double, Param *); virtual double ters_bij(double, Param *); virtual double ters_bij_d(double, Param *); virtual void ters_zetaterm_d(double, double *, double, double *, double, double *, double *, double *, Param *); void costheta_d(double *, double, double *, double, double *, double *, double *); // inlined functions for efficiency inline double ters_gijk(const double costheta, const Param * const param) const { const double ters_c = param->c * param->c; const double ters_d = param->d * param->d; const double hcth = param->h - costheta; return param->gamma*(1.0 + ters_c/ters_d - ters_c / (ters_d + hcth*hcth)); } inline double ters_gijk_d(const double costheta, const Param * const param) const { const double ters_c = param->c * param->c; const double ters_d = param->d * param->d; const double hcth = param->h - costheta; const double numerator = -2.0 * ters_c * hcth; const double denominator = 1.0/(ters_d + hcth*hcth); return param->gamma*numerator*denominator*denominator; } inline double vec3_dot(const double x[3], const double y[3]) const { return x[0]*y[0] + x[1]*y[1] + x[2]*y[2]; } inline void vec3_add(const double x[3], const double y[3], double * const z) const { z[0] = x[0]+y[0]; z[1] = x[1]+y[1]; z[2] = x[2]+y[2]; } inline void vec3_scale(const double k, const double x[3], double y[3]) const { y[0] = k*x[0]; y[1] = k*x[1]; y[2] = k*x[2]; } inline void vec3_scaleadd(const double k, const double x[3], const double y[3], double * const z) const { z[0] = k*x[0]+y[0]; z[1] = k*x[1]+y[1]; z[2] = k*x[2]+y[2]; } }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style Tersoff requires atom IDs This is a requirement to use the Tersoff potential. E: Pair style Tersoff requires newton pair on See the newton command. This is a restriction to use the Tersoff potential. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. E: Cannot open Tersoff potential file %s The specified potential file cannot be opened. Check that the path and name are correct. E: Incorrect format in Tersoff potential file Incorrect number of words per line in the potential file. E: Illegal Tersoff parameter One or more of the coefficients defined in the potential file is invalid. E: Potential file has duplicate entry The potential file for a SW or Tersoff potential has more than one entry for the same 3 ordered elements. E: Potential file is missing an entry The potential file for a SW or Tersoff potential does not have a needed entry. */ diff --git a/src/MANYBODY/pair_tersoff_mod.h b/src/MANYBODY/pair_tersoff_mod.h index 326216ae7..7d40e97e9 100644 --- a/src/MANYBODY/pair_tersoff_mod.h +++ b/src/MANYBODY/pair_tersoff_mod.h @@ -1,107 +1,107 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(tersoff/mod,PairTersoffMOD) #else #ifndef LMP_PAIR_TERSOFF_MOD_H #define LMP_PAIR_TERSOFF_MOD_H #include "pair_tersoff.h" namespace LAMMPS_NS { class PairTersoffMOD : public PairTersoff { public: PairTersoffMOD(class LAMMPS *); ~PairTersoffMOD() {} protected: void read_file(char *); void setup(); double zeta(Param *, double, double, double *, double *); double ters_fc(double, Param *); double ters_fc_d(double, Param *); double ters_bij(double, Param *); double ters_bij_d(double, Param *); void ters_zetaterm_d(double, double *, double, double *, double, double *, double *, double *, Param *); // inlined functions for efficiency // these replace but do not override versions in PairTersoff // since overriding virtual inlined functions is best avoided inline double ters_gijk_mod(const double costheta, const Param * const param) const { const double ters_c1 = param->c1; const double ters_c2 = param->c2; const double ters_c3 = param->c3; const double ters_c4 = param->c4; const double ters_c5 = param->c5; const double tmp_h = (param->h - costheta)*(param->h - costheta); return ters_c1 + (ters_c2*tmp_h/(ters_c3 + tmp_h)) * (1.0 + ters_c4*exp(-ters_c5*tmp_h)); } inline double ters_gijk_d_mod(const double costheta, const Param * const param) const { const double ters_c2 = param->c2; const double ters_c3 = param->c3; const double ters_c4 = param->c4; const double ters_c5 = param->c5; const double tmp_h = (param->h - costheta)*(param->h - costheta); const double g1 = (param->h - costheta)/(ters_c3 + tmp_h); const double g2 = exp(-ters_c5*tmp_h); return -2.0*ters_c2*g1*((1 + ters_c4*g2)*(1 + g1*(costheta - param->h)) - tmp_h*ters_c4*ters_c5*g2); } }; } #endif #endif /* ERROR/WARNING messages: E: Cannot open Tersoff potential file %s The specified potential file cannot be opened. Check that the path and name are correct. E: Incorrect format in Tersoff potential file Incorrect number of words per line in the potential file. E: Illegal Tersoff parameter One or more of the coefficients defined in the potential file is invalid. E: Potential file has duplicate entry The potential file for a SW or Tersoff potential has more than one entry for the same 3 ordered elements. E: Potential file is missing an entry The potential file for a SW or Tersoff potential does not have a needed entry. */ diff --git a/src/MANYBODY/pair_tersoff_zbl.h b/src/MANYBODY/pair_tersoff_zbl.h index 983b3ade4..c34f94a08 100755 --- a/src/MANYBODY/pair_tersoff_zbl.h +++ b/src/MANYBODY/pair_tersoff_zbl.h @@ -1,72 +1,72 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(tersoff/zbl,PairTersoffZBL) #else #ifndef LMP_PAIR_TERSOFF_ZBL_H #define LMP_PAIR_TERSOFF_ZBL_H #include "pair_tersoff.h" namespace LAMMPS_NS { class PairTersoffZBL : public PairTersoff { public: PairTersoffZBL(class LAMMPS *); ~PairTersoffZBL() {} private: double global_a_0; // Bohr radius for Coulomb repulsion double global_epsilon_0; // permittivity of vacuum for Coulomb repulsion double global_e; // proton charge (negative of electron charge) void read_file(char *); void repulsive(Param *, double, double &, int, double &); double ters_fa(double, Param *); double ters_fa_d(double, Param *); double F_fermi(double, Param *); double F_fermi_d(double, Param *); }; } #endif #endif /* ERROR/WARNING messages: E: Pair tersoff/zbl requires metal or real units This is a current restriction of this pair potential. E: Cannot open Tersoff potential file %s The specified potential file cannot be opened. Check that the path and name are correct. E: Incorrect format in Tersoff potential file Incorrect number of words per line in the potential file. E: Illegal Tersoff parameter One or more of the coefficients defined in the potential file is invalid. */ diff --git a/src/MC/fix_bond_break.h b/src/MC/fix_bond_break.h index 606eb2503..f104aef7b 100755 --- a/src/MC/fix_bond_break.h +++ b/src/MC/fix_bond_break.h @@ -1,112 +1,112 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(bond/break,FixBondBreak) #else #ifndef LMP_FIX_BOND_BREAK_H #define LMP_FIX_BOND_BREAK_H #include "fix.h" namespace LAMMPS_NS { class FixBondBreak : public Fix { public: FixBondBreak(class LAMMPS *, int, char **); ~FixBondBreak(); int setmask(); void init(); void post_integrate(); void post_integrate_respa(int,int); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); double compute_vector(int); double memory_usage(); private: int me,nprocs; int btype,seed; double cutoff,cutsq,fraction; int angleflag,dihedralflag,improperflag; bigint lastcheck; int breakcount,breakcounttotal; int nmax; tagint *partner,*finalpartner; double *distsq,*probability; int nbreak,maxbreak; tagint **broken; tagint *copy; class RanMars *random; int nlevels_respa; int commflag; int nbroken; int nangles,ndihedrals,nimpropers; void check_ghosts(); void update_topology(); void break_angles(int, tagint, tagint); void break_dihedrals(int, tagint, tagint); void break_impropers(int, tagint, tagint); void rebuild_special(int); int dedup(int, int, tagint *); // DEBUG void print_bb(); void print_copy(const char *, tagint, int, int, int, int *); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Invalid bond type in fix bond/break command Self-explanatory. E: Cannot use fix bond/break with non-molecular systems Only systems with bonds that can be changed can be used. Atom_style template does not qualify. E: Fix bond/break requires special_bonds = 0,1,1 This is a restriction of the current fix bond/break implementation. W: Broken bonds will not alter angles, dihedrals, or impropers See the doc page for fix bond/break for more info on this restriction. */ diff --git a/src/MC/fix_bond_create.h b/src/MC/fix_bond_create.h index 0ff3565ce..dee4ffb34 100755 --- a/src/MC/fix_bond_create.h +++ b/src/MC/fix_bond_create.h @@ -1,156 +1,156 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(bond/create,FixBondCreate) #else #ifndef LMP_FIX_BOND_CREATE_H #define LMP_FIX_BOND_CREATE_H #include "fix.h" namespace LAMMPS_NS { class FixBondCreate : public Fix { public: FixBondCreate(class LAMMPS *, int, char **); ~FixBondCreate(); int setmask(); void init(); void init_list(int, class NeighList *); void setup(int); void post_integrate(); void post_integrate_respa(int, int); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); void grow_arrays(int); void copy_arrays(int, int, int); int pack_exchange(int, double *); int unpack_exchange(int, double *); double compute_vector(int); double memory_usage(); private: int me; int iatomtype,jatomtype; int btype,seed; int imaxbond,jmaxbond; int inewtype,jnewtype; double cutsq,fraction; int atype,dtype,itype; int angleflag,dihedralflag,improperflag; int overflow; tagint lastcheck; int *bondcount; int createcount,createcounttotal; int nmax; tagint *partner,*finalpartner; double *distsq,*probability; int ncreate,maxcreate; tagint **created; tagint *copy; class RanMars *random; class NeighList *list; int countflag,commflag; int nlevels_respa; int nangles,ndihedrals,nimpropers; void check_ghosts(); void update_topology(); void rebuild_special(int); void create_angles(int); void create_dihedrals(int); void create_impropers(int); int dedup(int, int, tagint *); // DEBUG void print_bb(); void print_copy(const char *, tagint, int, int, int, int *); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Invalid atom type in fix bond/create command Self-explanatory. E: Invalid bond type in fix bond/create command Self-explanatory. E: Cannot use fix bond/create with non-molecular systems Only systems with bonds that can be changed can be used. Atom_style template does not qualify. E: Inconsistent iparam/jparam values in fix bond/create command If itype and jtype are the same, then their maxbond and newtype settings must also be the same. E: Fix bond/create cutoff is longer than pairwise cutoff This is not allowed because bond creation is done using the pairwise neighbor list. E: Fix bond/create requires special_bonds lj = 0,1,1 Self-explanatory. E: Fix bond/create requires special_bonds coul = 0,1,1 Self-explanatory. W: Created bonds will not create angles, dihedrals, or impropers See the doc page for fix bond/create for more info on this restriction. E: Could not count initial bonds in fix bond/create Could not find one of the atoms in a bond on this processor. E: New bond exceeded bonds per atom in fix bond/create See the read_data command for info on setting the "extra bond per atom" header value to allow for additional bonds to be formed. E: New bond exceeded special list size in fix bond/create See the special_bonds extra command for info on how to leave space in the special bonds list to allow for additional bonds to be formed. */ diff --git a/src/MC/fix_bond_swap.h b/src/MC/fix_bond_swap.h index 80a714598..0443144c2 100644 --- a/src/MC/fix_bond_swap.h +++ b/src/MC/fix_bond_swap.h @@ -1,122 +1,122 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(bond/swap,FixBondSwap) #else #ifndef LMP_FIX_BONDSWAP_H #define LMP_FIX_BONDSWAP_H #include "fix.h" #include "pair.h" namespace LAMMPS_NS { class FixBondSwap : public Fix { public: FixBondSwap(class LAMMPS *, int, char **); ~FixBondSwap(); int setmask(); void init(); void init_list(int, class NeighList *); void post_integrate(); int modify_param(int, char **); double compute_vector(int); double memory_usage(); private: double fraction,cutsq; int nmax,tflag; int *alist; int naccept,foursome; int angleflag; char *id_temp; int *type; double **x; class NeighList *list; class Compute *temperature; class RanMars *random; double dist_rsq(int, int); double pair_eng(int, int); double bond_eng(int, int, int); double angle_eng(int, int, int, int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot use fix bond/swap with non-molecular systems Only systems with bonds that can be changed can be used. Atom_style template does not qualify. E: Must use atom style with molecule IDs with fix bond/swap Self-explanatory. E: Temperature ID for fix bond/swap does not exist Self-explanatory. E: Fix bond/swap requires pair and bond styles Self-explanatory. E: Pair style does not support fix bond/swap The pair style does not have a single() function, so it can not be invoked by fix bond/swap. W: Fix bond/swap will ignore defined angles See the doc page for fix bond/swap for more info on this restriction. E: Fix bond/swap cannot use dihedral or improper styles These styles cannot be defined when using this fix. E: Fix bond/swap requires special_bonds = 0,1,1 Self-explanatory. E: Could not find fix_modify temperature ID The compute ID for computing temperature does not exist. E: Fix_modify temperature ID does not compute temperature The compute ID assigned to the fix must compute temperature. W: Group for fix_modify temp != fix group The fix_modify command is specifying a temperature computation that computes a temperature on a different group of atoms than the fix itself operates on. This is probably not what you want to do. */ diff --git a/src/MC/fix_gcmc.h b/src/MC/fix_gcmc.h index 6ec06e511..c0e7b4280 100644 --- a/src/MC/fix_gcmc.h +++ b/src/MC/fix_gcmc.h @@ -1,215 +1,215 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(gcmc,FixGCMC) #else #ifndef LMP_FIX_GCMC_H #define LMP_FIX_GCMC_H #include "stdio.h" #include "fix.h" namespace LAMMPS_NS { class FixGCMC : public Fix { public: FixGCMC(class LAMMPS *, int, char **); ~FixGCMC(); int setmask(); void init(); void pre_exchange(); void attempt_atomic_translation(); void attempt_atomic_deletion(); void attempt_atomic_insertion(); void attempt_molecule_translation(); void attempt_molecule_rotation(); void attempt_molecule_deletion(); void attempt_molecule_insertion(); double energy(int, int, tagint, double *); int pick_random_gas_atom(); tagint pick_random_gas_molecule(); double molecule_energy(tagint); void get_rotation_matrix(double, double *); void update_gas_atoms_list(); double compute_vector(int); double memory_usage(); void write_restart(FILE *); void restart(char *); private: int rotation_group,rotation_groupbit; int rotation_inversegroupbit; int ngcmc_type,nevery,seed; int ncycles,nexchanges,nmcmoves; int ngas; // # of gas atoms on all procs int ngas_local; // # of gas atoms on this proc int ngas_before; // # of gas atoms on procs < this proc int mode; // ATOM or MOLECULE int regionflag; // 0 = anywhere in box, 1 = specific region int iregion; // GCMC region char *idregion; // GCMC region id bool pressure_flag; // true if user specified reservoir pressure // else false int natoms_per_molecule; // number of atoms in each gas molecule double ntranslation_attempts; double ntranslation_successes; double nrotation_attempts; double nrotation_successes; double ndeletion_attempts; double ndeletion_successes; double ninsertion_attempts; double ninsertion_successes; int gcmc_nmax; int max_region_attempts; double gas_mass; double reservoir_temperature; double chemical_potential; double displace; double max_rotation_angle; double beta,zz,sigma,volume; double pressure,fugacity_coeff; double xlo,xhi,ylo,yhi,zlo,zhi; double region_xlo,region_xhi,region_ylo,region_yhi,region_zlo,region_zhi; double region_volume; double *sublo,*subhi; int *local_gas_list; double **cutsq; double **atom_coord; imageint imagetmp; class Pair *pair; class RanPark *random_equal; class RanPark *random_unequal; class Atom *model_atom; class Molecule **onemols; int imol,nmol; double **coords; imageint *imageflags; class Fix *fixshake; int shakeflag; char *idshake; void options(int, char **); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 does not (yet) work with atom_style template Self-explanatory. E: Fix gcmc region does not support a bounding box Not all regions represent bounded volumes. You cannot use such a region with the fix gcmc command. E: Fix gcmc region cannot be dynamic Only static regions can be used with fix gcmc. E: Fix gcmc region extends outside simulation box Self-explanatory. E: Region ID for fix gcmc does not exist Self-explanatory. 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 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 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 translation and therefore must have valid molecule ids. 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 Some pair_styles do not provide single-atom energies, which are needed by fix gcmc. 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 are allowed. 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. E: Could not find fix gcmc rotation group ID Self-explanatory. 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. 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 See the setting for tagint in the src/lmptype.h file. 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 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. E: Fix gcmc incorrect number of atoms per molecule The number of atoms in each gas molecule was not computed correctly. */ diff --git a/src/MC/pair_dsmc.h b/src/MC/pair_dsmc.h index ee1139130..1d24a7eeb 100644 --- a/src/MC/pair_dsmc.h +++ b/src/MC/pair_dsmc.h @@ -1,135 +1,135 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(dsmc,PairDSMC) #else #ifndef LMP_PAIR_DSMC_H #define LMP_PAIR_DSMC_H #include "pair.h" namespace LAMMPS_NS { class PairDSMC : public Pair { public: PairDSMC(class LAMMPS *); virtual ~PairDSMC(); virtual void compute(int, int); virtual void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); virtual void write_restart_settings(FILE *); virtual void read_restart_settings(FILE *); private: double cut_global; double **cut; double **sigma; double cellx; double celly; double cellz; int ncellsx; int ncellsy; int ncellsz; int total_ncells; int total_number_of_collisions; int recompute_vsigmamax_stride; int vsigmamax_samples; double T_ref; double kT_ref; double two_pi; double max_cell_size; int seed; int number_of_A; int number_of_B; int max_particle_list; class RanMars *random; int **particle_list; int **first; int **number; double **V_sigma_max; int max_particles; int *next_particle; int itype; int jtype; double imass; double jmass; double total_mass; double reduced_mass; double imass_tmass; double jmass_tmass; double vol; double weighting; void allocate(); void recompute_V_sigma_max(int); double V_sigma(int, int); void scatter_random(int, int, int); int convert_double_to_equivalent_int(double); inline void subtract3d(const double *v1, const double *v2, double *v3) { v3[0] = v2[0] - v1[0]; v3[1] = v2[1] - v1[1]; v3[2] = v2[2] - v1[2]; } inline double dot3d(const double *v1, const double *v2) { return( v1[0]*v2[0] + v1[1]*v2[1] + v1[2]*v2[2] ); } }; } #endif #endif /* ERROR/WARNING messages: W: Pair dsmc: num_of_collisions > number_of_A Collision model in DSMC is breaking down. W: Pair dsmc: num_of_collisions > number_of_B Collision model in DSMC is breaking down. E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Tried to convert a double to int, but input_double > INT_MAX Self-explanatory. */ diff --git a/src/MEAM/pair_meam.h b/src/MEAM/pair_meam.h index 75e7060bd..c035009ad 100644 --- a/src/MEAM/pair_meam.h +++ b/src/MEAM/pair_meam.h @@ -1,155 +1,155 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(meam,PairMEAM) #else #ifndef LMP_PAIR_MEAM_H #define LMP_PAIR_MEAM_H extern "C" { void meam_setup_global_(int *, int *, double *, int *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, int *); void meam_setup_param_(int *, double *, int *, int *, int *); void meam_setup_done_(double *); void meam_dens_init_(int *, int *, int *, int *, int *, double *, int *, int *, int *, int *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, int *); void meam_dens_final_(int *, int *, int *, int *, int *, double *, double *, int *, int *, int *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, int *); void meam_force_(int *, int *, int *, int *, int *, int *, double *, double *, int *, int *, int *, double *, int *, int *, int *, int *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, double *, int *); void meam_cleanup_(); } #include "pair.h" namespace LAMMPS_NS { class PairMEAM : public Pair { public: PairMEAM(class LAMMPS *); ~PairMEAM(); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); void init_list(int, class NeighList *); double init_one(int, int); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); double memory_usage(); private: double cutmax; // max cutoff for all elements int nelements; // # of unique elements char **elements; // names of unique elements double *mass; // mass of each element int *map; // mapping from atom types to elements int *fmap; // Fortran version of map array for MEAM lib int maxneigh; double *scrfcn,*dscrfcn,*fcpair; int nmax; double *rho,*rho0,*rho1,*rho2,*rho3,*frhop; double *gamma,*dgamma1,*dgamma2,*dgamma3,*arho2b; double **arho1,**arho2,**arho3,**arho3b,**t_ave,**tsq_ave; void allocate(); void read_files(char *, char *); void neigh_strip(int, int *, int *, int **); void neigh_f2c(int, int *, int *, int **); void neigh_c2f(int, int *, int *, int **); }; } #endif #endif /* ERROR/WARNING messages: E: MEAM library error %d A call to the MEAM Fortran library returned an error. E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style MEAM requires newton pair on See the newton command. This is a restriction to use the MEAM potential. E: Cannot open MEAM potential file %s The specified MEAM potential file cannot be opened. Check that the path and name are correct. E: Incorrect format in MEAM potential file Incorrect number of words per line in the potential file. E: Unrecognized lattice type in MEAM file 1 The lattice type in an entry of the MEAM library file is not valid. E: Did not find all elements in MEAM library file The requested elements were not found in the MEAM file. E: Keyword %s in MEAM parameter file not recognized Self-explanatory. E: Unrecognized lattice type in MEAM file 2 The lattice type in an entry of the MEAM parameter file is not valid. */ diff --git a/src/MISC/compute_msd_nongauss.h b/src/MISC/compute_msd_nongauss.h index 86bb653c5..aa029a797 100644 --- a/src/MISC/compute_msd_nongauss.h +++ b/src/MISC/compute_msd_nongauss.h @@ -1,51 +1,51 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(msd/nongauss,ComputeMSDNonGauss) #else #ifndef LMP_COMPUTE_MSD_NONGAUSS_H #define LMP_COMPUTE_MSD_NONGAUSS_H #include "compute_msd.h" namespace LAMMPS_NS { class ComputeMSDNonGauss : public ComputeMSD { public: ComputeMSDNonGauss(class LAMMPS *, int, char **); ~ComputeMSDNonGauss() {} void compute_vector(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Could not find compute msd fix ID Self-explanatory. */ diff --git a/src/MISC/compute_ti.h b/src/MISC/compute_ti.h index 23d3e3a4e..d6c054fd0 100644 --- a/src/MISC/compute_ti.h +++ b/src/MISC/compute_ti.h @@ -1,83 +1,83 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(ti,ComputeTI) #else #ifndef COMPUTE_TI_H #define COMPUTE_TI_H #include "compute.h" namespace LAMMPS_NS { class ComputeTI : public Compute { public: ComputeTI(class LAMMPS *, int, char **); ~ComputeTI(); void init(); double compute_scalar(); private: int nterms; int *which; int *ivar1,*ivar2; int *ilo, *ihi; char **var1,**var2; class Pair **pptr; char **pstyle; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Variable name for compute ti does not exist Self-explanatory. E: Variable for compute ti is invalid style Self-explanatory. E: Compute ti pair style does not exist Self-explanatory. E: Compute ti tail when pair style does not compute tail corrections Self-explanatory. E: Compute ti kspace style does not exist Self-explanatory. E: Energy was not tallied on needed timestep You are using a thermo keyword that requires potentials to have tallied energy, but they didn't on this timestep. See the variable doc page for ideas on how to make this work. */ diff --git a/src/MISC/fix_efield.h b/src/MISC/fix_efield.h index d929bdf61..48466b325 100644 --- a/src/MISC/fix_efield.h +++ b/src/MISC/fix_efield.h @@ -1,110 +1,110 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(efield,FixEfield) #else #ifndef LMP_FIX_EFIELD_H #define LMP_FIX_EFIELD_H #include "fix.h" namespace LAMMPS_NS { class FixEfield : public Fix { public: FixEfield(class LAMMPS *, int, char **); ~FixEfield(); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); double memory_usage(); double compute_scalar(); double compute_vector(int); private: double ex,ey,ez; int varflag,iregion; char *xstr,*ystr,*zstr,*estr; char *idregion; int xvar,yvar,zvar,evar,xstyle,ystyle,zstyle,estyle; int nlevels_respa; double qe2f; int qflag,muflag; int maxatom; double **efield; int force_flag; double fsum[4],fsum_all[4]; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Region ID for fix efield does not exist Self-explanatory. E: Fix efield requires atom attribute q or mu The atom style defined does not have this attribute. E: Variable name for fix efield does not exist Self-explanatory. E: Variable for fix efield is invalid style The variable must be an equal- or atom-style variable. E: Region ID for fix aveforce does not exist Self-explanatory. E: Fix efield with dipoles cannot use atom-style variables This option is not supported. W: The minimizer does not re-orient dipoles when using fix efield This means that only the atom coordinates will be minimized, not the orientation of the dipoles. E: Cannot use variable energy with constant efield in fix efield LAMMPS computes the energy itself when the E-field is constant. E: Must use variable energy with fix efield You must define an energy when performing a minimization with a variable E-field. */ diff --git a/src/MISC/fix_evaporate.h b/src/MISC/fix_evaporate.h index f59558103..d26e8dba8 100644 --- a/src/MISC/fix_evaporate.h +++ b/src/MISC/fix_evaporate.h @@ -1,80 +1,80 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(evaporate,FixEvaporate) #else #ifndef LMP_FIX_EVAPORATE_H #define LMP_FIX_EVAPORATE_H #include "fix.h" namespace LAMMPS_NS { class FixEvaporate : public Fix { public: FixEvaporate(class LAMMPS *, int, char **); ~FixEvaporate(); int setmask(); void init(); void pre_exchange(); double compute_scalar(); double memory_usage(); private: int nevery,nflux,iregion; int molflag; int ndeleted; char *idregion; int nmax; int *list,*mark; class RanPark *random; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Region ID for fix evaporate does not exist Self-explanatory. E: Cannot evaporate 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. W: Fix evaporate may delete atom with non-zero molecule ID This is probably an error, since you should not delete only one atom of a molecule. E: Fix evaporate molecule requires atom attribute molecule The atom style being used does not define a molecule ID. */ diff --git a/src/MISC/fix_gld.h b/src/MISC/fix_gld.h index 4dbf9b390..7270da463 100644 --- a/src/MISC/fix_gld.h +++ b/src/MISC/fix_gld.h @@ -1,113 +1,113 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(gld,FixGLD) #else #ifndef LMP_FIX_GLD_H #define LMP_FIX_GLD_H #include "fix.h" namespace LAMMPS_NS { class FixGLD : public Fix { public: FixGLD(class LAMMPS *, int, char **); virtual ~FixGLD(); int setmask(); virtual void init(); virtual void initial_integrate(int); virtual void final_integrate(); virtual void initial_integrate_respa(int, int, int); virtual void final_integrate_respa(int, int); void reset_target(double); virtual void reset_dt(); double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); int pack_exchange(int, double *); int unpack_exchange(int, double *); int pack_restart(int, double *); void unpack_restart(int, int); int size_restart(int); int maxsize_restart(); void init_s_gld(); protected: double dtv,dtf; double *step_respa; int mass_require; int freezeflag, zeroflag; double t_start, t_stop, t_target; int prony_terms; int series_type; double *prony_c; double *prony_tau; double **s_gld; class RanMars *random; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 gld series type must be pprony for now Self-explanatory. E: Fix gld prony terms must be > 0 Self-explanatory. E: Fix gld start temperature must be >= 0 Self-explanatory. E: Fix gld stop temperature must be >= 0 Self-explanatory. E: Fix gld needs more prony series coefficients Self-explanatory. E: Fix gld c coefficients must be >= 0 Self-explanatory. E: Fix gld tau coefficients must be > 0 Self-explanatory. E: Cannot zero gld force for zero atoms There are no atoms currently in the group. */ diff --git a/src/MISC/fix_orient_fcc.h b/src/MISC/fix_orient_fcc.h index d35777879..3d5d1207a 100644 --- a/src/MISC/fix_orient_fcc.h +++ b/src/MISC/fix_orient_fcc.h @@ -1,115 +1,115 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(orient/fcc,FixOrientFCC) #else #ifndef LMP_FIX_ORIENT_FCC_H #define LMP_FIX_ORIENT_FCC_H #include "fix.h" namespace LAMMPS_NS { class FixOrientFCC : public Fix { public: struct Nbr { // neighbor info for each owned and ghost atom int n; // # of closest neighbors (up to 12) tagint id[12]; // IDs of each neighbor // if center atom is owned, these are local IDs // if center atom is ghost, these are global IDs double xismooth[12]; // distance weighting factor for each neighbors double dxi[12][3]; // d order-parameter / dx for each neighbor double duxi; // d Energy / d order-parameter for atom }; struct Sort { // data structure for sorting to find 12 closest int id; // local ID of neighbor atom double rsq; // distance between center and neighbor atom double delta[3]; // displacement between center and neighbor atom double xismooth; // distance weighting factor }; FixOrientFCC(class LAMMPS *, int, char **); ~FixOrientFCC(); int setmask(); void init(); void init_list(int, class NeighList *); void setup(int); void post_force(int); void post_force_respa(int, int, int); double compute_scalar(); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); double memory_usage(); private: int me; int nlevels_respa; int direction_of_motion; // 1 = center shrinks, 0 = center grows int nstats; // stats output every this many steps double a; // lattice parameter double Vxi; // potential value double uxif_low; // cut-off fraction, low order parameter double uxif_high; // cut-off fraction, high order parameter char *xifilename, *chifilename; // file names for 2 crystal orientations bool use_xismooth; double Rxi[12][3],Rchi[12][3],half_xi_chi_vec[2][6][3]; double xiid,xi0,xi1,xicutoffsq,cutsq,added_energy; int half_fcc_nn; int nmax; // expose 2 per-atom quantities double **order; // order param and normalized order param Nbr *nbr; Sort *sort; class NeighList *list; void find_best_ref(double *, int, double &, double *); static int compare(const void *, const void *); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 orient/fcc file open failed The fix orient/fcc command could not open a specified file. E: Fix orient/fcc file read failed The fix orient/fcc command could not read the needed parameters from a specified file. E: Fix orient/fcc found self twice The neighbor lists used by fix orient/fcc are messed up. If this error occurs, it is likely a bug, so send an email to the "developers"_http://lammps.sandia.gov/authors.html. */ diff --git a/src/MISC/fix_thermal_conductivity.h b/src/MISC/fix_thermal_conductivity.h index 22688bb7c..fa49a10bd 100644 --- a/src/MISC/fix_thermal_conductivity.h +++ b/src/MISC/fix_thermal_conductivity.h @@ -1,75 +1,75 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(thermal/conductivity,FixThermalConductivity) #else #ifndef LMP_FIX_THERMAL_CONDUCTIVITY_H #define LMP_FIX_THERMAL_CONDUCTIVITY_H #include "fix.h" namespace LAMMPS_NS { class FixThermalConductivity : public Fix { public: FixThermalConductivity(class LAMMPS *, int, char **); ~FixThermalConductivity(); int setmask(); void init(); void end_of_step(); double compute_scalar(); private: int me; int edim,nbin,periodicity; int nswap; double prd,boxlo,boxhi; double slablo_lo,slablo_hi,slabhi_lo,slabhi_hi; double e_exchange; int nlo,nhi; int *index_lo,*index_hi; double *ke_lo,*ke_hi; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 thermal/conductivity swap value must be positive Self-explanatory. W: Fix thermal/conductivity comes before fix ave/spatial The order of these 2 fixes in your input script is such that fix thermal/conductivity comes first. If you are using fix ave/spatial to measure the temperature profile induced by fix viscosity, then this may cause a glitch in the profile since you are averaging immediately after swaps have occurred. Flipping the order of the 2 fixes typically helps. */ diff --git a/src/MISC/fix_ttm.h b/src/MISC/fix_ttm.h index 54650ad63..34629fb53 100644 --- a/src/MISC/fix_ttm.h +++ b/src/MISC/fix_ttm.h @@ -1,157 +1,157 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(ttm,FixTTM) #else #ifndef LMP_FIX_TTM_H #define LMP_FIX_TTM_H #include "fix.h" namespace LAMMPS_NS { class FixTTM : public Fix { public: FixTTM(class LAMMPS *, int, char **); ~FixTTM(); int setmask(); void init(); void setup(int); void post_force(int); void post_force_respa(int, int, int); void post_force_setup(int); void post_force_respa_setup(int, int, int); void end_of_step(); void reset_dt(); void write_restart(FILE *); void restart(char *); int pack_restart(int, double *); void unpack_restart(int, int); int size_restart(int); int maxsize_restart(); double memory_usage(); void grow_arrays(int); double compute_vector(int); private: int me; int nfileevery; int nlevels_respa; int seed; class RanMars *random; FILE *fp,*fpr; int nxnodes,nynodes,nznodes,total_nnodes; int ***nsum; int ***nsum_all,***T_initial_set; double *gfactor1,*gfactor2,*ratio; double **flangevin; double ***T_electron,***T_electron_old; double ***sum_vsq,***sum_mass_vsq; double ***sum_vsq_all,***sum_mass_vsq_all; double ***net_energy_transfer,***net_energy_transfer_all; double electronic_specific_heat,electronic_density; double electronic_thermal_conductivity; double gamma_p,gamma_s,v_0,v_0_sq; void read_initial_electron_temperatures(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot open file %s The specified file cannot be opened. Check that the path and name are correct. If the file is a compressed file, also check that the gzip executable can be found and run. E: Cannot open fix ttm file %s The output file for the fix ttm command cannot be opened. Check that the path and name are correct. E: Invalid random number seed in fix ttm command Random number seed must be > 0. E: Fix ttm electronic_specific_heat must be > 0.0 Self-explanatory. E: Fix ttm electronic_density must be > 0.0 Self-explanatory. E: Fix ttm electronic_thermal_conductivity must be >= 0.0 Self-explanatory. E: Fix ttm gamma_p must be > 0.0 Self-explanatory. E: Fix ttm gamma_s must be >= 0.0 Self-explanatory. E: Fix ttm v_0 must be >= 0.0 Self-explanatory. E: Fix ttm number of nodes must be > 0 Self-explanatory. E: Cannot use fix ttm with 2d simulation This is a current restriction of this fix due to the grid it creates. E: Cannot use nonperiodic boundares with fix ttm This fix requires a fully periodic simulation box. E: Cannot use fix ttm with triclinic box This is a current restriction of this fix due to the grid it creates. E: Electronic temperature dropped below zero Something has gone wrong with the fix ttm electron temperature model. E: Fix ttm electron temperatures must be > 0.0 Self-explanatory. E: Initial temperatures not all set in fix ttm Self-explantory. W: Too many inner timesteps in fix ttm Self-explanatory. */ diff --git a/src/MISC/fix_viscosity.h b/src/MISC/fix_viscosity.h index 6f694d4f9..547febfa6 100644 --- a/src/MISC/fix_viscosity.h +++ b/src/MISC/fix_viscosity.h @@ -1,80 +1,80 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(viscosity,FixViscosity) #else #ifndef LMP_FIX_VISCOSITY_H #define LMP_FIX_VISCOSITY_H #include "fix.h" namespace LAMMPS_NS { class FixViscosity : public Fix { public: FixViscosity(class LAMMPS *, int, char **); ~FixViscosity(); int setmask(); void init(); void end_of_step(); double compute_scalar(); private: int me; int vdim,pdim,nbin,periodicity; int nswap; double vtarget; double prd,boxlo,boxhi; double slablo_lo,slablo_hi,slabhi_lo,slabhi_hi; double p_exchange; int npositive,nnegative; int *pos_index,*neg_index; double *pos_delta,*neg_delta; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 viscosity swap value must be positive Self-explanatory. E: Fix viscosity vtarget value must be positive Self-explanatory. W: Fix viscosity comes before fix ave/spatial The order of these 2 fixes in your input script is such that fix viscosity comes first. If you are using fix ave/spatial to measure the velocity profile induced by fix viscosity, then this may cause a glitch in the profile since you are averaging immediately after swaps have occurred. Flipping the order of the 2 fixes typically helps. */ diff --git a/src/MISC/pair_nm_cut.h b/src/MISC/pair_nm_cut.h index d155b89e8..692c8559d 100644 --- a/src/MISC/pair_nm_cut.h +++ b/src/MISC/pair_nm_cut.h @@ -1,76 +1,76 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(nm/cut,PairNMCut) #else #ifndef LMP_PAIR_NM_CUT_H #define LMP_PAIR_NM_CUT_H #include "pair.h" namespace LAMMPS_NS { class PairNMCut : public Pair { public: PairNMCut(class LAMMPS *); virtual ~PairNMCut(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); double single(int, int, int, int, double, double, double, double &); void *extract(const char *, int &); protected: double cut_global; double **cut; double **e0,**r0,**nn, **mm; double **nm,**e0nm,**r0n,**r0m,**offset; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. */ diff --git a/src/MISC/pair_nm_cut_coul_cut.h b/src/MISC/pair_nm_cut_coul_cut.h index 7fd9c408b..cefeb58ba 100644 --- a/src/MISC/pair_nm_cut_coul_cut.h +++ b/src/MISC/pair_nm_cut_coul_cut.h @@ -1,83 +1,83 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(nm/cut/coul/cut,PairNMCutCoulCut) #else #ifndef LMP_PAIR_NM_CUT_COUL_CUT_H #define LMP_PAIR_NM_CUT_COUL_CUT_H #include "pair.h" namespace LAMMPS_NS { class PairNMCutCoulCut : public Pair { public: PairNMCutCoulCut(class LAMMPS *); virtual ~PairNMCutCoulCut(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); double single(int, int, int, int, double, double, double, double &); void *extract(const char *, int &); protected: double cut_lj_global,cut_coul_global; double **cut_lj,**cut_ljsq; double **cut_coul,**cut_coulsq; double **e0,**r0,**nn, **mm; double **nm,**e0nm,**r0n,**r0m,**offset; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style nm/cut/coul/cut requires atom attribute q The atom style defined does not have this attribute. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. */ diff --git a/src/MISC/pair_nm_cut_coul_long.h b/src/MISC/pair_nm_cut_coul_long.h index 0d7a23f01..362474cff 100644 --- a/src/MISC/pair_nm_cut_coul_long.h +++ b/src/MISC/pair_nm_cut_coul_long.h @@ -1,89 +1,89 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(nm/cut/coul/long,PairNMCutCoulLong) #else #ifndef LMP_PAIR_NM_CUT_COUL_LONG_H #define LMP_PAIR_NM_CUT_COUL_LONG_H #include "pair.h" namespace LAMMPS_NS { class PairNMCutCoulLong : public Pair { public: PairNMCutCoulLong(class LAMMPS *); virtual ~PairNMCutCoulLong(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); double single(int, int, int, int, double, double, double, double &); void *extract(const char *, int &); protected: double cut_lj_global; double **cut_lj,**cut_ljsq; double cut_coul,cut_coulsq; double **e0,**r0,**nn, **mm; double **nm,**e0nm,**r0n,**r0m,**offset; double qdist; // TIP4P distance from O site to negative charge double g_ewald; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style nm/cut/coul/long requires atom attribute q The atom style defined does not have this attribute. E: Pair style requires a KSpace style No kspace style is defined. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. */ diff --git a/src/MOLECULE/angle_charmm.h b/src/MOLECULE/angle_charmm.h index 8d165d1dc..92a00c6b4 100644 --- a/src/MOLECULE/angle_charmm.h +++ b/src/MOLECULE/angle_charmm.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ANGLE_CLASS AngleStyle(charmm,AngleCharmm) #else #ifndef LMP_ANGLE_CHARMM_H #define LMP_ANGLE_CHARMM_H #include "stdio.h" #include "angle.h" namespace LAMMPS_NS { class AngleCharmm : public Angle { public: AngleCharmm(class LAMMPS *); virtual ~AngleCharmm(); virtual void compute(int, int); void coeff(int, char **); double equilibrium_angle(int); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); double single(int, int, int, int); protected: double *k,*theta0,*k_ub,*r_ub; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args for angle coefficients Self-explanatory. Check the input script or data file. */ diff --git a/src/MOLECULE/angle_cosine.h b/src/MOLECULE/angle_cosine.h index 766966e83..7e06aa150 100644 --- a/src/MOLECULE/angle_cosine.h +++ b/src/MOLECULE/angle_cosine.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ANGLE_CLASS AngleStyle(cosine,AngleCosine) #else #ifndef LMP_ANGLE_COSINE_H #define LMP_ANGLE_COSINE_H #include "stdio.h" #include "angle.h" namespace LAMMPS_NS { class AngleCosine : public Angle { public: AngleCosine(class LAMMPS *); virtual ~AngleCosine(); virtual void compute(int, int); void coeff(int, char **); double equilibrium_angle(int); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); double single(int, int, int, int); protected: double *k; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args for angle coefficients Self-explanatory. Check the input script or data file. */ diff --git a/src/MOLECULE/angle_cosine_delta.h b/src/MOLECULE/angle_cosine_delta.h index 305e3ea67..70fdf315e 100644 --- a/src/MOLECULE/angle_cosine_delta.h +++ b/src/MOLECULE/angle_cosine_delta.h @@ -1,41 +1,41 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ANGLE_CLASS AngleStyle(cosine/delta,AngleCosineDelta) #else #ifndef LMP_ANGLE_COSINE_DELTA_H #define LMP_ANGLE_COSINE_DELTA_H #include "stdio.h" #include "angle_cosine_squared.h" namespace LAMMPS_NS { class AngleCosineDelta : public AngleCosineSquared { public: AngleCosineDelta(class LAMMPS *); virtual void compute(int, int); double single(int, int, int, int); }; } #endif #endif /* ERROR/WARNING messages: */ diff --git a/src/MOLECULE/angle_cosine_periodic.h b/src/MOLECULE/angle_cosine_periodic.h index d050a80cc..f9485539f 100644 --- a/src/MOLECULE/angle_cosine_periodic.h +++ b/src/MOLECULE/angle_cosine_periodic.h @@ -1,58 +1,58 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ANGLE_CLASS AngleStyle(cosine/periodic, AngleCosinePeriodic) #else #ifndef LMP_ANGLE_PERIODIC_H #define LMP_ANGLE_PERIODIC_H #include "stdio.h" #include "angle.h" namespace LAMMPS_NS { class AngleCosinePeriodic : public Angle { public: AngleCosinePeriodic(class LAMMPS *); virtual ~AngleCosinePeriodic(); virtual void compute(int, int); void coeff(int, char **); double equilibrium_angle(int); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); double single(int, int, int, int); protected: double *k; int *multiplicity,*b; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args for angle coefficients Self-explanatory. Check the input script or data file. */ diff --git a/src/MOLECULE/angle_cosine_squared.h b/src/MOLECULE/angle_cosine_squared.h index 0bdfa17f1..a9f6572c4 100644 --- a/src/MOLECULE/angle_cosine_squared.h +++ b/src/MOLECULE/angle_cosine_squared.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ANGLE_CLASS AngleStyle(cosine/squared,AngleCosineSquared) #else #ifndef LMP_ANGLE_COSINE_SQUARED_H #define LMP_ANGLE_COSINE_SQUARED_H #include "stdio.h" #include "angle.h" namespace LAMMPS_NS { class AngleCosineSquared : public Angle { public: AngleCosineSquared(class LAMMPS *); virtual ~AngleCosineSquared(); virtual void compute(int, int); void coeff(int, char **); double equilibrium_angle(int); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); virtual double single(int, int, int, int); protected: double *k,*theta0; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args for angle coefficients Self-explanatory. Check the input script or data file. */ diff --git a/src/MOLECULE/angle_harmonic.h b/src/MOLECULE/angle_harmonic.h index bce6c2802..9c2f5a157 100644 --- a/src/MOLECULE/angle_harmonic.h +++ b/src/MOLECULE/angle_harmonic.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ANGLE_CLASS AngleStyle(harmonic,AngleHarmonic) #else #ifndef LMP_ANGLE_HARMONIC_H #define LMP_ANGLE_HARMONIC_H #include "stdio.h" #include "angle.h" namespace LAMMPS_NS { class AngleHarmonic : public Angle { public: AngleHarmonic(class LAMMPS *); virtual ~AngleHarmonic(); virtual void compute(int, int); void coeff(int, char **); double equilibrium_angle(int); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); double single(int, int, int, int); protected: double *k,*theta0; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args for angle coefficients Self-explanatory. Check the input script or data file. */ diff --git a/src/MOLECULE/angle_table.h b/src/MOLECULE/angle_table.h index ceaf7d049..99f547052 100644 --- a/src/MOLECULE/angle_table.h +++ b/src/MOLECULE/angle_table.h @@ -1,120 +1,120 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ANGLE_CLASS AngleStyle(table,AngleTable) #else #ifndef LMP_ANGLE_TABLE_H #define LMP_ANGLE_TABLE_H #include "stdio.h" #include "angle.h" namespace LAMMPS_NS { class AngleTable : public Angle { public: AngleTable(class LAMMPS *); virtual ~AngleTable(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double equilibrium_angle(int); void write_restart(FILE *); void read_restart(FILE *); double single(int, int, int, int); protected: int tabstyle,tablength; double *theta0; struct Table { int ninput,fpflag; double fplo,fphi,theta0; double *afile,*efile,*ffile; double *e2file,*f2file; double delta,invdelta,deltasq6; double *ang,*e,*de,*f,*df,*e2,*f2; }; int ntables; Table *tables; int *tabindex; void allocate(); void null_table(Table *); void free_table(Table *); void read_table(Table *, char *, char *); void bcast_table(Table *); void spline_table(Table *); void compute_table(Table *); void param_extract(Table *, char *); void spline(double *, double *, int, double, double, double *); double splint(double *, double *, double *, int, double); void uf_lookup(int, double, double &, double &); void u_lookup(int, double, double &); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Unknown table style in angle style table Self-explanatory. E: Illegal number of angle table entries There must be at least 2 table entries. E: Invalid angle table length Length must be 2 or greater. E: Angle table must range from 0 to 180 degrees Self-explanatory. E: Cannot open file %s The specified file cannot be opened. Check that the path and name are correct. If the file is a compressed file, also check that the gzip executable can be found and run. E: Did not find keyword in table file Keyword used in pair_coeff command was not found in table file. E: Invalid keyword in angle table parameters Self-explanatory. E: Angle table parameters did not set N List of angle table parameters must include N setting. */ diff --git a/src/MOLECULE/atom_vec_angle.h b/src/MOLECULE/atom_vec_angle.h index 34102c23a..9030cce0d 100644 --- a/src/MOLECULE/atom_vec_angle.h +++ b/src/MOLECULE/atom_vec_angle.h @@ -1,92 +1,92 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(angle,AtomVecAngle) #else #ifndef LMP_ATOM_VEC_ANGLE_H #define LMP_ATOM_VEC_ANGLE_H #include "atom_vec.h" namespace LAMMPS_NS { class AtomVecAngle : public AtomVec { public: AtomVecAngle(class LAMMPS *); virtual ~AtomVecAngle() {} void grow(int); void grow_reset(); void copy(int, int, int); virtual int pack_comm(int, int *, double *, int, int *); virtual int pack_comm_vel(int, int *, double *, int, int *); virtual void unpack_comm(int, int, double *); virtual void unpack_comm_vel(int, int, double *); int pack_reverse(int, int, double *); void unpack_reverse(int, int *, double *); virtual int pack_border(int, int *, double *, int, int *); virtual int pack_border_vel(int, int *, double *, int, int *); int pack_border_hybrid(int, int *, double *); virtual void unpack_border(int, int, double *); virtual void unpack_border_vel(int, int, double *); int unpack_border_hybrid(int, int, double *); virtual int pack_exchange(int, double *); virtual int unpack_exchange(double *); int size_restart(); int pack_restart(int, double *); int unpack_restart(double *); void create_atom(int, double *); void data_atom(double *, imageint, char **); int data_atom_hybrid(int, char **); void pack_data(double **); int pack_data_hybrid(int, double *); void write_data(FILE *, int, double **); int write_data_hybrid(FILE *, double *); bigint memory_usage(); protected: tagint *tag; int *type,*mask; imageint *image; double **x,**v,**f; tagint *molecule; int **nspecial; tagint **special; int *num_bond; int **bond_type; tagint **bond_atom; int *num_angle; int **angle_type; tagint **angle_atom1,**angle_atom2,**angle_atom3; }; } #endif #endif /* ERROR/WARNING messages: E: Per-processor system is too big The number of owned atoms plus ghost atoms on a single processor must fit in 32-bit integer. E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. */ diff --git a/src/MOLECULE/atom_vec_bond.h b/src/MOLECULE/atom_vec_bond.h index 13824a415..d7370d465 100644 --- a/src/MOLECULE/atom_vec_bond.h +++ b/src/MOLECULE/atom_vec_bond.h @@ -1,88 +1,88 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(bond,AtomVecBond) #else #ifndef LMP_ATOM_VEC_BOND_H #define LMP_ATOM_VEC_BOND_H #include "atom_vec.h" namespace LAMMPS_NS { class AtomVecBond : public AtomVec { public: AtomVecBond(class LAMMPS *); void grow(int); void grow_reset(); void copy(int, int, int); int pack_comm(int, int *, double *, int, int *); int pack_comm_vel(int, int *, double *, int, int *); void unpack_comm(int, int, double *); void unpack_comm_vel(int, int, double *); int pack_reverse(int, int, double *); void unpack_reverse(int, int *, double *); int pack_border(int, int *, double *, int, int *); int pack_border_vel(int, int *, double *, int, int *); int pack_border_hybrid(int, int *, double *); void unpack_border(int, int, double *); void unpack_border_vel(int, int, double *); int unpack_border_hybrid(int, int, double *); int pack_exchange(int, double *); int unpack_exchange(double *); int size_restart(); int pack_restart(int, double *); int unpack_restart(double *); void create_atom(int, double *); void data_atom(double *, imageint, char **); int data_atom_hybrid(int, char **); void pack_data(double **); int pack_data_hybrid(int, double *); void write_data(FILE *, int, double **); int write_data_hybrid(FILE *, double *); bigint memory_usage(); private: tagint *tag; int *type,*mask; imageint *image; double **x,**v,**f; tagint *molecule; int **nspecial; tagint **special; int *num_bond; int **bond_type; tagint **bond_atom; }; } #endif #endif /* ERROR/WARNING messages: E: Per-processor system is too big The number of owned atoms plus ghost atoms on a single processor must fit in 32-bit integer. E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. */ diff --git a/src/MOLECULE/atom_vec_full.h b/src/MOLECULE/atom_vec_full.h index 90476d510..abaf570b1 100644 --- a/src/MOLECULE/atom_vec_full.h +++ b/src/MOLECULE/atom_vec_full.h @@ -1,99 +1,99 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(full,AtomVecFull) #else #ifndef LMP_ATOM_VEC_FULL_H #define LMP_ATOM_VEC_FULL_H #include "atom_vec.h" namespace LAMMPS_NS { class AtomVecFull : public AtomVec { public: AtomVecFull(class LAMMPS *); virtual ~AtomVecFull() {} void grow(int); void grow_reset(); void copy(int, int, int); virtual int pack_comm(int, int *, double *, int, int *); virtual int pack_comm_vel(int, int *, double *, int, int *); virtual void unpack_comm(int, int, double *); virtual void unpack_comm_vel(int, int, double *); int pack_reverse(int, int, double *); void unpack_reverse(int, int *, double *); virtual int pack_border(int, int *, double *, int, int *); virtual int pack_border_vel(int, int *, double *, int, int *); int pack_border_hybrid(int, int *, double *); virtual void unpack_border(int, int, double *); virtual void unpack_border_vel(int, int, double *); int unpack_border_hybrid(int, int, double *); virtual int pack_exchange(int, double *); virtual int unpack_exchange(double *); int size_restart(); int pack_restart(int, double *); int unpack_restart(double *); void create_atom(int, double *); void data_atom(double *, imageint, char **); int data_atom_hybrid(int, char **); void pack_data(double **); int pack_data_hybrid(int, double *); void write_data(FILE *, int, double **); int write_data_hybrid(FILE *, double *); bigint memory_usage(); protected: tagint *tag; int *type,*mask; imageint *image; double **x,**v,**f; double *q; tagint *molecule; int **nspecial; tagint **special; int *num_bond; int **bond_type; tagint **bond_atom; int *num_angle; int **angle_type; tagint **angle_atom1,**angle_atom2,**angle_atom3; int *num_dihedral; int **dihedral_type; tagint **dihedral_atom1,**dihedral_atom2,**dihedral_atom3,**dihedral_atom4; int *num_improper; int **improper_type; tagint **improper_atom1,**improper_atom2,**improper_atom3,**improper_atom4; }; } #endif #endif /* ERROR/WARNING messages: E: Per-processor system is too big The number of owned atoms plus ghost atoms on a single processor must fit in 32-bit integer. E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. */ diff --git a/src/MOLECULE/atom_vec_molecular.h b/src/MOLECULE/atom_vec_molecular.h index e8bacd31d..19104c398 100644 --- a/src/MOLECULE/atom_vec_molecular.h +++ b/src/MOLECULE/atom_vec_molecular.h @@ -1,97 +1,97 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(molecular,AtomVecMolecular) #else #ifndef LMP_ATOM_VEC_MOLECULAR_H #define LMP_ATOM_VEC_MOLECULAR_H #include "atom_vec.h" namespace LAMMPS_NS { class AtomVecMolecular : public AtomVec { public: AtomVecMolecular(class LAMMPS *); void grow(int); void grow_reset(); void copy(int, int, int); int pack_comm(int, int *, double *, int, int *); int pack_comm_vel(int, int *, double *, int, int *); void unpack_comm(int, int, double *); void unpack_comm_vel(int, int, double *); int pack_reverse(int, int, double *); void unpack_reverse(int, int *, double *); int pack_border(int, int *, double *, int, int *); int pack_border_vel(int, int *, double *, int, int *); int pack_border_hybrid(int, int *, double *); void unpack_border(int, int, double *); void unpack_border_vel(int, int, double *); int unpack_border_hybrid(int, int, double *); int pack_exchange(int, double *); int unpack_exchange(double *); int size_restart(); int pack_restart(int, double *); int unpack_restart(double *); void create_atom(int, double *); void data_atom(double *, imageint, char **); int data_atom_hybrid(int, char **); void pack_data(double **); int pack_data_hybrid(int, double *); void write_data(FILE *, int, double **); int write_data_hybrid(FILE *, double *); bigint memory_usage(); private: tagint *tag; int *type,*mask; imageint *image; double **x,**v,**f; tagint *molecule; int **nspecial; tagint **special; int *num_bond; int **bond_type; tagint **bond_atom; int *num_angle; int **angle_type; tagint **angle_atom1,**angle_atom2,**angle_atom3; int *num_dihedral; int **dihedral_type; tagint **dihedral_atom1,**dihedral_atom2,**dihedral_atom3,**dihedral_atom4; int *num_improper; int **improper_type; tagint **improper_atom1,**improper_atom2,**improper_atom3,**improper_atom4; }; } #endif #endif /* ERROR/WARNING messages: E: Per-processor system is too big The number of owned atoms plus ghost atoms on a single processor must fit in 32-bit integer. E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. */ diff --git a/src/MOLECULE/atom_vec_template.h b/src/MOLECULE/atom_vec_template.h index 6c12ff496..eee7fa972 100644 --- a/src/MOLECULE/atom_vec_template.h +++ b/src/MOLECULE/atom_vec_template.h @@ -1,114 +1,114 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(template,AtomVecTemplate) #else #ifndef LMP_ATOM_VEC_TEMPLATE_H #define LMP_ATOM_VEC_TEMPLATE_H #include "atom_vec.h" namespace LAMMPS_NS { class AtomVecTemplate : public AtomVec { public: AtomVecTemplate(class LAMMPS *); virtual ~AtomVecTemplate() {} void process_args(int, char **); void grow(int); void grow_reset(); void copy(int, int, int); virtual int pack_comm(int, int *, double *, int, int *); virtual int pack_comm_vel(int, int *, double *, int, int *); virtual void unpack_comm(int, int, double *); virtual void unpack_comm_vel(int, int, double *); int pack_reverse(int, int, double *); void unpack_reverse(int, int *, double *); virtual int pack_border(int, int *, double *, int, int *); virtual int pack_border_vel(int, int *, double *, int, int *); int pack_border_hybrid(int, int *, double *); virtual void unpack_border(int, int, double *); virtual void unpack_border_vel(int, int, double *); int unpack_border_hybrid(int, int, double *); virtual int pack_exchange(int, double *); virtual int unpack_exchange(double *); int size_restart(); int pack_restart(int, double *); int unpack_restart(double *); void create_atom(int, double *); void data_atom(double *, tagint, char **); int data_atom_hybrid(int, char **); void pack_data(double **); int pack_data_hybrid(int, double *); void write_data(FILE *, int, double **); int write_data_hybrid(FILE *, double *); bigint memory_usage(); protected: tagint *tag; int *type,*mask; tagint *image; double **x,**v,**f; tagint *molecule; int *molindex,*molatom; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Molecule template ID for atom_style template does not exist Self-explanatory. E: Atom style template molecule must have atom types The defined molecule(s) does not specify atom types. E: Per-processor system is too big The number of owned atoms plus ghost atoms on a single processor must fit in 32-bit integer. E: Invalid atom ID in Atoms section of data file Atom IDs must be positive integers. E: Invalid template index in Atoms section of data file The template indices must be between 1 to N, where N is the number of molecules in the template. E: Invalid template atom in Atoms section of data file The atom indices must be between 1 to N, where N is the number of atoms in the template molecule the atom belongs to. E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. */ diff --git a/src/MOLECULE/bond_fene.h b/src/MOLECULE/bond_fene.h index 9b12f3a09..3dad4daf4 100644 --- a/src/MOLECULE/bond_fene.h +++ b/src/MOLECULE/bond_fene.h @@ -1,78 +1,78 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef BOND_CLASS BondStyle(fene,BondFENE) #else #ifndef LMP_BOND_FENE_H #define LMP_BOND_FENE_H #include "stdio.h" #include "bond.h" namespace LAMMPS_NS { class BondFENE : public Bond { public: BondFENE(class LAMMPS *); virtual ~BondFENE(); virtual void compute(int, int); void coeff(int, char **); void init_style(); double equilibrium_distance(int); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); double single(int, double, int, int, double &); protected: double TWO_1_3; double *k,*r0,*epsilon,*sigma; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: W: FENE bond too long: %ld %d %d %g A FENE bond has stretched dangerously far. It's interaction strength will be truncated to attempt to prevent the bond from blowing up. E: Bad FENE bond Two atoms in a FENE bond have become so far apart that the bond cannot be computed. E: Incorrect args for bond coefficients Self-explanatory. Check the input script or data file. W: Use special bonds = 0,1,1 with bond style fene Most FENE models need this setting for the special_bonds command. W: FENE bond too long: %ld %g A FENE bond has stretched dangerously far. It's interaction strength will be truncated to attempt to prevent the bond from blowing up. */ diff --git a/src/MOLECULE/bond_fene_expand.h b/src/MOLECULE/bond_fene_expand.h index d25b0edfb..0d2f535cb 100644 --- a/src/MOLECULE/bond_fene_expand.h +++ b/src/MOLECULE/bond_fene_expand.h @@ -1,78 +1,78 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef BOND_CLASS BondStyle(fene/expand,BondFENEExpand) #else #ifndef LMP_BOND_FENE_EXPAND_H #define LMP_BOND_FENE_EXPAND_H #include "stdio.h" #include "bond.h" namespace LAMMPS_NS { class BondFENEExpand : public Bond { public: BondFENEExpand(class LAMMPS *); virtual ~BondFENEExpand(); virtual void compute(int, int); void coeff(int, char **); void init_style(); double equilibrium_distance(int); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); double single(int, double, int, int, double &); protected: double TWO_1_3; double *k,*r0,*epsilon,*sigma,*shift; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: W: FENE bond too long: %ld %d %d %g A FENE bond has stretched dangerously far. It's interaction strength will be truncated to attempt to prevent the bond from blowing up. E: Bad FENE bond Two atoms in a FENE bond have become so far apart that the bond cannot be computed. E: Incorrect args for bond coefficients Self-explanatory. Check the input script or data file. W: Use special bonds = 0,1,1 with bond style fene/expand Most FENE models need this setting for the special_bonds command. W: FENE bond too long: %ld %g A FENE bond has stretched dangerously far. It's interaction strength will be truncated to attempt to prevent the bond from blowing up. */ diff --git a/src/MOLECULE/bond_harmonic.h b/src/MOLECULE/bond_harmonic.h index b996161b2..329d2d307 100644 --- a/src/MOLECULE/bond_harmonic.h +++ b/src/MOLECULE/bond_harmonic.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef BOND_CLASS BondStyle(harmonic,BondHarmonic) #else #ifndef LMP_BOND_HARMONIC_H #define LMP_BOND_HARMONIC_H #include "stdio.h" #include "bond.h" namespace LAMMPS_NS { class BondHarmonic : public Bond { public: BondHarmonic(class LAMMPS *); virtual ~BondHarmonic(); virtual void compute(int, int); void coeff(int, char **); double equilibrium_distance(int); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); double single(int, double, int, int, double &); protected: double *k,*r0; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args for bond coefficients Self-explanatory. Check the input script or data file. */ diff --git a/src/MOLECULE/bond_morse.h b/src/MOLECULE/bond_morse.h index 78329220c..f19b05f5d 100644 --- a/src/MOLECULE/bond_morse.h +++ b/src/MOLECULE/bond_morse.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef BOND_CLASS BondStyle(morse,BondMorse) #else #ifndef LMP_BOND_MORSE_H #define LMP_BOND_MORSE_H #include "stdio.h" #include "bond.h" namespace LAMMPS_NS { class BondMorse : public Bond { public: BondMorse(class LAMMPS *); virtual ~BondMorse(); virtual void compute(int, int); void coeff(int, char **); double equilibrium_distance(int); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); double single(int, double, int, int, double &); protected: double *d0,*alpha,*r0; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args for bond coefficients Self-explanatory. Check the input script or data file. */ diff --git a/src/MOLECULE/bond_nonlinear.h b/src/MOLECULE/bond_nonlinear.h index 447f7fee2..c7c7c27b2 100644 --- a/src/MOLECULE/bond_nonlinear.h +++ b/src/MOLECULE/bond_nonlinear.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef BOND_CLASS BondStyle(nonlinear,BondNonlinear) #else #ifndef LMP_BOND_NONLINEAR_H #define LMP_BOND_NONLINEAR_H #include "stdio.h" #include "bond.h" namespace LAMMPS_NS { class BondNonlinear : public Bond { public: BondNonlinear(class LAMMPS *); virtual ~BondNonlinear(); virtual void compute(int, int); void coeff(int, char **); double equilibrium_distance(int); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); double single(int, double, int, int, double &); protected: double *epsilon,*r0,*lamda; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args for bond coefficients Self-explanatory. Check the input script or data file. */ diff --git a/src/MOLECULE/bond_quartic.h b/src/MOLECULE/bond_quartic.h index 5178a228c..9788626f1 100644 --- a/src/MOLECULE/bond_quartic.h +++ b/src/MOLECULE/bond_quartic.h @@ -1,78 +1,78 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef BOND_CLASS BondStyle(quartic,BondQuartic) #else #ifndef LMP_BOND_QUARTIC_H #define LMP_BOND_QUARTIC_H #include "stdio.h" #include "bond.h" namespace LAMMPS_NS { class BondQuartic : public Bond { public: BondQuartic(class LAMMPS *); virtual ~BondQuartic(); virtual void compute(int, int); void coeff(int, char **); void init_style(); double equilibrium_distance(int); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); double single(int, double, int, int, double &); protected: double TWO_1_3; double *k,*b1,*b2,*rc,*u0; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args for bond coefficients Self-explanatory. Check the input script or data file. E: Pair style does not support bond_style quartic The pair style does not have a single() function, so it can not be invoked by bond_style quartic. E: Bond style quartic cannot be used with 3,4-body interactions No angle, dihedral, or improper styles can be defined when using bond style quartic. E: Bond style quartic cannot be used with atom style template This bond style can change the bond topology which is not allowed with this atom style. E: Bond style quartic requires special_bonds = 1,1,1 This is a restriction of the current bond quartic implementation. */ diff --git a/src/MOLECULE/bond_table.h b/src/MOLECULE/bond_table.h index c2fe36dbb..91d78461d 100644 --- a/src/MOLECULE/bond_table.h +++ b/src/MOLECULE/bond_table.h @@ -1,121 +1,121 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef BOND_CLASS BondStyle(table,BondTable) #else #ifndef LMP_BOND_TABLE_H #define LMP_BOND_TABLE_H #include "stdio.h" #include "bond.h" namespace LAMMPS_NS { class BondTable : public Bond { public: BondTable(class LAMMPS *); virtual ~BondTable(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double equilibrium_distance(int); void write_restart(FILE *); void read_restart(FILE *); double single(int, double, int, int, double &); protected: int tabstyle,tablength; double *r0; struct Table { int ninput,fpflag; double fplo,fphi,r0; double lo,hi; double *rfile,*efile,*ffile; double *e2file,*f2file; double delta,invdelta,deltasq6; double *r,*e,*de,*f,*df,*e2,*f2; }; int ntables; Table *tables; int *tabindex; void allocate(); void null_table(Table *); void free_table(Table *); void read_table(Table *, char *, char *); void bcast_table(Table *); void spline_table(Table *); void compute_table(Table *); void param_extract(Table *, char *); void spline(double *, double *, int, double, double, double *); double splint(double *, double *, double *, int, double); void uf_lookup(int, double, double &, double &); void u_lookup(int, double, double &); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Unknown table style in bond style table Self-explanatory. E: Illegal number of bond table entries There must be at least 2 table entries. E: Invalid bond table length Length must be 2 or greater. E: Bond table values are not increasing The values in the tabulated file must be monotonically increasing. E: Cannot open file %s The specified file cannot be opened. Check that the path and name are correct. If the file is a compressed file, also check that the gzip executable can be found and run. E: Did not find keyword in table file Keyword used in pair_coeff command was not found in table file. E: Invalid keyword in bond table parameters Self-explanatory. E: Bond table parameters did not set N List of bond table parameters must include N setting. */ diff --git a/src/MOLECULE/dihedral_harmonic.h b/src/MOLECULE/dihedral_harmonic.h index 69d4fb22c..40ebdf26a 100644 --- a/src/MOLECULE/dihedral_harmonic.h +++ b/src/MOLECULE/dihedral_harmonic.h @@ -1,69 +1,69 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef DIHEDRAL_CLASS DihedralStyle(harmonic,DihedralHarmonic) #else #ifndef LMP_DIHEDRAL_HARMONIC_H #define LMP_DIHEDRAL_HARMONIC_H #include "stdio.h" #include "dihedral.h" namespace LAMMPS_NS { class DihedralHarmonic : public Dihedral { public: DihedralHarmonic(class LAMMPS *); virtual ~DihedralHarmonic(); virtual void compute(int, int); void coeff(int, char **); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); protected: double *k,*cos_shift,*sin_shift; int *sign,*multiplicity; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: W: Dihedral problem: %d %ld %d %d %d %d Conformation of the 4 listed dihedral atoms is extreme; you may want to check your simulation geometry. E: Incorrect args for dihedral coefficients Self-explanatory. Check the input script or data file. E: Incorrect sign arg for dihedral coefficients Self-explanatory. Check the input script or data file. E: Incorrect multiplicity arg for dihedral coefficients Self-explanatory. Check the input script or data file. */ diff --git a/src/MOLECULE/dihedral_helix.h b/src/MOLECULE/dihedral_helix.h index 1e34ff471..c9cd014c5 100644 --- a/src/MOLECULE/dihedral_helix.h +++ b/src/MOLECULE/dihedral_helix.h @@ -1,59 +1,59 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef DIHEDRAL_CLASS DihedralStyle(helix,DihedralHelix) #else #ifndef LMP_DIHEDRAL_HELIX_H #define LMP_DIHEDRAL_HELIX_H #include "stdio.h" #include "dihedral.h" namespace LAMMPS_NS { class DihedralHelix : public Dihedral { public: DihedralHelix(class LAMMPS *); virtual ~DihedralHelix(); virtual void compute(int, int); void coeff(int, char **); void write_restart(FILE *); void read_restart(FILE *); protected: double *aphi,*bphi,*cphi; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: W: Dihedral problem: %d %ld %d %d %d %d Conformation of the 4 listed dihedral atoms is extreme; you may want to check your simulation geometry. E: Incorrect args for dihedral coefficients Self-explanatory. Check the input script or data file. */ diff --git a/src/MOLECULE/dihedral_multi_harmonic.h b/src/MOLECULE/dihedral_multi_harmonic.h index c83316813..b77f85ddf 100644 --- a/src/MOLECULE/dihedral_multi_harmonic.h +++ b/src/MOLECULE/dihedral_multi_harmonic.h @@ -1,59 +1,59 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef DIHEDRAL_CLASS DihedralStyle(multi/harmonic,DihedralMultiHarmonic) #else #ifndef LMP_DIHEDRAL_MULTI_HARMONIC_H #define LMP_DIHEDRAL_MULTI_HARMONIC_H #include "stdio.h" #include "dihedral.h" namespace LAMMPS_NS { class DihedralMultiHarmonic : public Dihedral { public: DihedralMultiHarmonic(class LAMMPS *); virtual ~DihedralMultiHarmonic(); virtual void compute(int, int); void coeff(int, char **); void write_restart(FILE *); void read_restart(FILE *); protected: double *a1,*a2,*a3,*a4,*a5; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: W: Dihedral problem: %d %ld %d %d %d %d Conformation of the 4 listed dihedral atoms is extreme; you may want to check your simulation geometry. E: Incorrect args for dihedral coefficients Self-explanatory. Check the input script or data file. */ diff --git a/src/MOLECULE/improper_harmonic.h b/src/MOLECULE/improper_harmonic.h index b8897e66a..16e9418fc 100644 --- a/src/MOLECULE/improper_harmonic.h +++ b/src/MOLECULE/improper_harmonic.h @@ -1,60 +1,60 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef IMPROPER_CLASS ImproperStyle(harmonic,ImproperHarmonic) #else #ifndef LMP_IMPROPER_HARMONIC_H #define LMP_IMPROPER_HARMONIC_H #include "stdio.h" #include "improper.h" namespace LAMMPS_NS { class ImproperHarmonic : public Improper { public: ImproperHarmonic(class LAMMPS *); virtual ~ImproperHarmonic(); virtual void compute(int, int); void coeff(int, char **); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); protected: double *k,*chi; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: W: Improper problem: %d %ld %d %d %d %d Conformation of the 4 listed improper atoms is extreme; you may want to check your simulation geometry. E: Incorrect args for improper coefficients Self-explanatory. Check the input script or data file. */ diff --git a/src/MOLECULE/improper_umbrella.h b/src/MOLECULE/improper_umbrella.h index efb29acd5..110330374 100644 --- a/src/MOLECULE/improper_umbrella.h +++ b/src/MOLECULE/improper_umbrella.h @@ -1,60 +1,60 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef IMPROPER_CLASS ImproperStyle(umbrella,ImproperUmbrella) #else #ifndef LMP_IMPROPER_UMBRELLA_H #define LMP_IMPROPER_UMBRELLA_H #include "stdio.h" #include "improper.h" namespace LAMMPS_NS { class ImproperUmbrella : public Improper { public: ImproperUmbrella(class LAMMPS *); virtual ~ImproperUmbrella(); virtual void compute(int, int); void coeff(int, char **); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); protected: double *kw, *w0, *C; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: W: Improper problem: %d %ld %d %d %d %d Conformation of the 4 listed improper atoms is extreme; you may want to check your simulation geometry. E: Incorrect args for improper coefficients Self-explanatory. Check the input script or data file. */ diff --git a/src/MOLECULE/pair_hbond_dreiding_lj.h b/src/MOLECULE/pair_hbond_dreiding_lj.h index 588ec8ab7..1f33e178c 100644 --- a/src/MOLECULE/pair_hbond_dreiding_lj.h +++ b/src/MOLECULE/pair_hbond_dreiding_lj.h @@ -1,104 +1,104 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(hbond/dreiding/lj,PairHbondDreidingLJ) #else #ifndef LMP_PAIR_HBOND_DREIDING_LJ_H #define LMP_PAIR_HBOND_DREIDING_LJ_H #include "pair.h" namespace LAMMPS_NS { class PairHbondDreidingLJ : public Pair { public: PairHbondDreidingLJ(class LAMMPS *); virtual ~PairHbondDreidingLJ(); virtual void compute(int, int); void settings(int, char **); virtual void coeff(int, char **); virtual void init_style(); double init_one(int, int); virtual double single(int, int, int, int, double, double, double, double &); protected: double cut_inner_global,cut_outer_global,cut_angle_global; int ap_global; struct Param { double epsilon,sigma; double lj1,lj2,lj3,lj4; double d0,alpha,r0; double morse1; double denom_vdw; double cut_inner,cut_outer,cut_innersq,cut_outersq,cut_angle,offset; int ap; }; Param *params; // parameter set for an I-J-K interaction int nparams; // number of parameters read int maxparam; int *donor; // 1 if this type is ever a donor, else 0 int *acceptor; // 1 if this type is ever an acceptor, else 0 int ***type2param; // mapping from D,A,H to params, -1 if no map void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair inner cutoff >= Pair outer cutoff The specified cutoffs for the pair style are inconsistent. E: Pair style hbond/dreiding requires molecular system Self-explanatory. E: Pair style hbond/dreiding requires atom IDs Self-explanatory. E: Pair style hbond/dreiding requires an atom map, see atom_modify Self-explanatory. E: Pair style hbond/dreiding requires newton pair on See the newton command for details. E: No pair hbond/dreiding coefficients set Self-explanatory. */ diff --git a/src/MOLECULE/pair_hbond_dreiding_morse.h b/src/MOLECULE/pair_hbond_dreiding_morse.h index fcd96aebc..77d0d43c8 100644 --- a/src/MOLECULE/pair_hbond_dreiding_morse.h +++ b/src/MOLECULE/pair_hbond_dreiding_morse.h @@ -1,72 +1,72 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(hbond/dreiding/morse,PairHbondDreidingMorse) #else #ifndef LMP_PAIR_HBOND_DREIDING_MORSE_H #define LMP_PAIR_HBOND_DREIDING_MORSE_H #include "pair_hbond_dreiding_lj.h" namespace LAMMPS_NS { class PairHbondDreidingMorse : public PairHbondDreidingLJ { public: PairHbondDreidingMorse(class LAMMPS *); virtual ~PairHbondDreidingMorse() {}; virtual void compute(int, int); void coeff(int, char **); void init_style(); double single(int, int, int, int, double, double, double, double &); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args for pair coefficients Self-explanatory. Check the input script or data file. E: Pair inner cutoff >= Pair outer cutoff The specified cutoffs for the pair style are inconsistent. E: Pair style hbond/dreiding requires molecular system Self-explanatory. E: Pair style hbond/dreiding requires atom IDs Self-explanatory. E: Pair style hbond/dreiding requires an atom map, see atom_modify Self-explanatory. E: Pair style hbond/dreiding requires newton pair on See the newton command for details. E: No pair hbond/dreiding coefficients set Self-explanatory. */ diff --git a/src/MOLECULE/pair_lj_charmm_coul_charmm_implicit.h b/src/MOLECULE/pair_lj_charmm_coul_charmm_implicit.h index 747f2caa6..7f0ab9d26 100644 --- a/src/MOLECULE/pair_lj_charmm_coul_charmm_implicit.h +++ b/src/MOLECULE/pair_lj_charmm_coul_charmm_implicit.h @@ -1,37 +1,37 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/charmm/coul/charmm/implicit,PairLJCharmmCoulCharmmImplicit) #else #ifndef LMP_PAIR_LJ_CHARMM_COUL_CHARMM_IMPLICIT_H #define LMP_PAIR_LJ_CHARMM_COUL_CHARMM_IMPLICIT_H #include "pair_lj_charmm_coul_charmm.h" namespace LAMMPS_NS { class PairLJCharmmCoulCharmmImplicit : public PairLJCharmmCoulCharmm { public: PairLJCharmmCoulCharmmImplicit(class LAMMPS *); virtual void compute(int, int); double single(int, int, int, int, double, double, double, double &); }; } #endif #endif diff --git a/src/MOLECULE/pair_lj_cut_tip4p_cut.h b/src/MOLECULE/pair_lj_cut_tip4p_cut.h index 34ade5d27..b69781b16 100644 --- a/src/MOLECULE/pair_lj_cut_tip4p_cut.h +++ b/src/MOLECULE/pair_lj_cut_tip4p_cut.h @@ -1,121 +1,121 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/tip4p/cut,PairLJCutTIP4PCut) #else #ifndef LMP_PAIR_LJ_CUT_TIP4P_CUT_H #define LMP_PAIR_LJ_CUT_TIP4P_CUT_H #include "pair.h" namespace LAMMPS_NS { class PairLJCutTIP4PCut : public Pair { public: PairLJCutTIP4PCut(class LAMMPS *); virtual ~PairLJCutTIP4PCut(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); virtual void write_restart_settings(FILE *); virtual void read_restart_settings(FILE *); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); void write_data_all(FILE *); void *extract(const char *, int &); double memory_usage(); protected: double cut_lj_global,cut_coul_global; double cut_coul,cut_coulsq; double cut_coulsqplus; // extended value for cut_coulsq double **cut_lj,**cut_ljsq; double **epsilon,**sigma; double **lj1,**lj2,**lj3,**lj4,**offset; int typeH,typeO; // atom types of TIP4P water H and O atoms int typeA,typeB; // angle and bond types of TIP4P water double alpha; // geometric constraint parameter for TIP4P double qdist; int nmax; // info on off-oxygen charge sites int **hneigh; // 0,1 = indices of 2 H associated with O // 2 = 0 if site loc not yet computed, 1 if yes double **newsite; // locations of charge sites void allocate(); void compute_newsite(double *, double *, double *, double *); }; } #endif #endif /* ERROR/WARNING messages: E: TIP4P hydrogen is missing The TIP4P pairwise computation failed to find the correct H atom within a water molecule. 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. E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style lj/cut/tip4p/cut requires atom IDs This is a requirement to use this potential. E: Pair style lj/cut/tip4p/cut requires newton pair on See the newton command. This is a restriction to use this potential. E: Pair style lj/cut/tip4p/cut requires atom attribute q The atom style defined does not have this attribute. E: Must use a bond style with TIP4P potential TIP4P potentials assume bond lengths in water are constrained by a fix shake command. 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/cut/tip4p/cut This is because LAMMPS does not compute the Lennard-Jones interactions with these particles for efficiency reasons. */ diff --git a/src/MOLECULE/pair_tip4p_cut.h b/src/MOLECULE/pair_tip4p_cut.h index f99e7744e..ea801db68 100644 --- a/src/MOLECULE/pair_tip4p_cut.h +++ b/src/MOLECULE/pair_tip4p_cut.h @@ -1,109 +1,109 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(tip4p/cut,PairTIP4PCut) #else #ifndef LMP_PAIR_TIP4P_CUT_H #define LMP_PAIR_TIP4P_CUT_H #include "pair.h" namespace LAMMPS_NS { class PairTIP4PCut : public Pair { public: PairTIP4PCut(class LAMMPS *); virtual ~PairTIP4PCut(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); virtual void write_restart_settings(FILE *); virtual void read_restart_settings(FILE *); void write_restart(FILE *); void read_restart(FILE *); double memory_usage(); protected: double cut_coul_global; double cut_coul,cut_coulsq; double cut_coulsqplus; // extended value for cut_coulsq int typeH,typeO; // atom types of TIP4P water H and O atoms int typeA,typeB; // angle and bond types of TIP4P water double alpha; // geometric constraint parameter for TIP4P double qdist; int nmax; // info on off-oxygen charge sites int **hneigh; // 0,1 = indices of 2 H associated with O // 2 = 0 if site loc not yet computed, 1 if yes double **newsite; // locations of charge sites void allocate(); void compute_newsite(double *, double *, double *, double *); }; } #endif #endif /* ERROR/WARNING messages: E: TIP4P hydrogen is missing The TIP4P pairwise computation failed to find the correct H atom within a water molecule. 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. E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style tip4p/cut requires atom IDs This is a requirement to use this potential. E: Pair style tip4p/cut requires newton pair on See the newton command. This is a restriction to use this potential. E: Pair style tip4p/cut requires atom attribute q The atom style defined does not have this attribute. E: Must use a bond style with TIP4P potential TIP4P potentials assume bond lengths in water are constrained by a fix shake command. E: Must use an angle style with TIP4P potential TIP4P potentials assume angles in water are constrained by a fix shake command. */ diff --git a/src/MPIIO/dump_xyz_mpiio.h b/src/MPIIO/dump_xyz_mpiio.h index 6a3fbbd8f..3e600845b 100644 --- a/src/MPIIO/dump_xyz_mpiio.h +++ b/src/MPIIO/dump_xyz_mpiio.h @@ -1,76 +1,76 @@ -/* --------------------------------------------------------------------- +/* -*- c++ -*- --------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef DUMP_CLASS DumpStyle(xyz/mpiio,DumpXYZMPIIO) #else #ifndef LMP_DUMP_XYZ_MPIIO_H #define LMP_DUMP_XYZ_MPII0_H #include "dump_xyz.h" namespace LAMMPS_NS { class DumpXYZMPIIO : public DumpXYZ { public: DumpXYZMPIIO(class LAMMPS *, int, char **); virtual ~DumpXYZMPIIO(); protected: bigint sumFileSize; // size in bytes of the file up through this rank offset from the end of the header data char *headerBuffer; // buffer for holding header data MPI_File mpifh; MPI_Offset mpifo,offsetFromHeader,headerSize, currentFileSize; int performEstimate; // switch for write_data and write_header methods to use for gathering data and detemining filesize for preallocation vs actually writing the data char *filecurrent; // name of file for this round (with % and * replaced) #if defined(_OPENMP) int convert_string_omp(int, double *); // multithreaded version of convert_string #endif virtual void openfile(); virtual void write_header(bigint); virtual void write(); virtual void write_data(int, double *); virtual void init_style(); typedef void (DumpXYZMPIIO::*FnPtrData)(int, double *); FnPtrData write_choice; // ptr to write data functions void write_string(int, double *); }; } #endif #endif /* ERROR/WARNING messages: E: Cannot open dump file The output file for the dump command cannot be opened. Check that the path and name are correct. E: Too much per-proc info for dump Number of local atoms times number of columns must fit in a 32-bit integer for dump. */ diff --git a/src/MPIIO/restart_mpiio.h b/src/MPIIO/restart_mpiio.h index e5174716e..bf1df656f 100644 --- a/src/MPIIO/restart_mpiio.h +++ b/src/MPIIO/restart_mpiio.h @@ -1,74 +1,74 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_RESTART_MPIIO_H #define LMP_RESTART_MPIIO_H #include "pointers.h" namespace LAMMPS_NS { class RestartMPIIO : protected Pointers { private: MPI_File mpifh; int nprocs, myrank; public: int mpiio_exists; RestartMPIIO(class LAMMPS *); ~RestartMPIIO() {} void openForRead(char *); void openForWrite(char *); void write(MPI_Offset, int, double *); void read(MPI_Offset, bigint, double *); void close(); }; } #endif /* ERROR/WARNING messages: E: Cannot open restart file for reading - MPI error: %s This error was generated by MPI when reading/writing an MPI-IO restart file. E: Cannot open restart file for writing - MPI error: %s This error was generated by MPI when reading/writing an MPI-IO restart file. E: Cannot set restart file size - MPI error: %s This error was generated by MPI when reading/writing an MPI-IO restart file. E: Cannot write to restart file - MPI error: %s This error was generated by MPI when reading/writing an MPI-IO restart file. E: Cannot read from restart file - MPI error: %s This error was generated by MPI when reading/writing an MPI-IO restart file. E: Cannot close restart file - MPI error: %s This error was generated by MPI when reading/writing an MPI-IO restart file. */ diff --git a/src/Makefile.shlib b/src/Makefile.shlib index c7dac094b..8b4914ed2 100644 --- a/src/Makefile.shlib +++ b/src/Makefile.shlib @@ -1,43 +1,43 @@ # LAMMPS shared library multiple-machine Makefile SHELL = /bin/sh # Definitions ROOT = lammps EXE = lib$(ROOT)_$@.so -SRC = angle.cpp angle_charmm.cpp angle_class2.cpp angle_cosine.cpp angle_cosine_delta.cpp angle_cosine_periodic.cpp angle_cosine_squared.cpp angle_harmonic.cpp angle_hybrid.cpp angle_table.cpp atom.cpp atom_map.cpp atom_vec.cpp atom_vec_angle.cpp atom_vec_atomic.cpp atom_vec_body.cpp atom_vec_bond.cpp atom_vec_charge.cpp atom_vec_dipole.cpp atom_vec_ellipsoid.cpp atom_vec_full.cpp atom_vec_hybrid.cpp atom_vec_line.cpp atom_vec_molecular.cpp atom_vec_peri.cpp atom_vec_sphere.cpp atom_vec_template.cpp atom_vec_tri.cpp balance.cpp body.cpp body_nparticle.cpp bond.cpp bond_class2.cpp bond_fene.cpp bond_fene_expand.cpp bond_harmonic.cpp bond_hybrid.cpp bond_morse.cpp bond_nonlinear.cpp bond_quartic.cpp bond_table.cpp change_box.cpp citeme.cpp comm.cpp comm_brick.cpp comm_tiled.cpp compute.cpp compute_angle_local.cpp compute_atom_molecule.cpp compute_body_local.cpp compute_bond_local.cpp compute_centro_atom.cpp compute_cluster_atom.cpp compute_cna_atom.cpp compute_com.cpp compute_com_molecule.cpp compute_contact_atom.cpp compute_coord_atom.cpp compute_damage_atom.cpp compute_dihedral_local.cpp compute_dilatation_atom.cpp compute_displace_atom.cpp compute_erotate_asphere.cpp compute_erotate_rigid.cpp compute_erotate_sphere.cpp compute_erotate_sphere_atom.cpp compute_event_displace.cpp compute_group_group.cpp compute_gyration.cpp compute_gyration_molecule.cpp compute_heat_flux.cpp compute_improper_local.cpp compute_inertia_molecule.cpp compute_ke.cpp compute_ke_atom.cpp compute_ke_rigid.cpp compute_msd.cpp compute_msd_molecule.cpp compute_msd_nongauss.cpp compute_pair.cpp compute_pair_local.cpp compute_pe.cpp compute_pe_atom.cpp compute_plasticity_atom.cpp compute_pressure.cpp compute_property_atom.cpp compute_property_local.cpp compute_property_molecule.cpp compute_rdf.cpp compute_reduce.cpp compute_reduce_region.cpp compute_slice.cpp compute_stress_atom.cpp compute_temp.cpp compute_temp_asphere.cpp compute_temp_com.cpp compute_temp_deform.cpp compute_temp_partial.cpp compute_temp_profile.cpp compute_temp_ramp.cpp compute_temp_region.cpp compute_temp_sphere.cpp compute_ti.cpp compute_vacf.cpp create_atoms.cpp create_box.cpp delete_atoms.cpp delete_bonds.cpp dihedral.cpp dihedral_charmm.cpp dihedral_class2.cpp dihedral_harmonic.cpp dihedral_helix.cpp dihedral_hybrid.cpp dihedral_multi_harmonic.cpp dihedral_opls.cpp displace_atoms.cpp domain.cpp dump.cpp dump_atom.cpp dump_cfg.cpp dump_custom.cpp dump_dcd.cpp dump_image.cpp dump_local.cpp dump_movie.cpp dump_xtc.cpp dump_xyz.cpp error.cpp finish.cpp fix.cpp fix_adapt.cpp fix_addforce.cpp fix_append_atoms.cpp fix_ave_atom.cpp fix_ave_correlate.cpp fix_ave_histo.cpp fix_ave_spatial.cpp fix_ave_time.cpp fix_aveforce.cpp fix_balance.cpp fix_bond_break.cpp fix_bond_create.cpp fix_bond_swap.cpp fix_box_relax.cpp fix_deform.cpp fix_deposit.cpp fix_drag.cpp fix_dt_reset.cpp fix_efield.cpp fix_enforce2d.cpp fix_evaporate.cpp fix_event.cpp fix_event_prd.cpp fix_event_tad.cpp fix_external.cpp fix_freeze.cpp fix_gcmc.cpp fix_gld.cpp fix_gravity.cpp fix_group.cpp fix_heat.cpp fix_indent.cpp fix_langevin.cpp fix_lineforce.cpp fix_minimize.cpp fix_momentum.cpp fix_move.cpp fix_msst.cpp fix_neb.cpp fix_nh.cpp fix_nh_asphere.cpp fix_nh_sphere.cpp fix_nph.cpp fix_nph_asphere.cpp fix_nph_sphere.cpp fix_nphug.cpp fix_npt.cpp fix_npt_asphere.cpp fix_npt_sphere.cpp fix_nve.cpp fix_nve_asphere.cpp fix_nve_asphere_noforce.cpp fix_nve_body.cpp fix_nve_limit.cpp fix_nve_line.cpp fix_nve_noforce.cpp fix_nve_sphere.cpp fix_nve_tri.cpp fix_nvt.cpp fix_nvt_asphere.cpp fix_nvt_sllod.cpp fix_nvt_sphere.cpp fix_oneway.cpp fix_orient_fcc.cpp fix_peri_neigh.cpp fix_planeforce.cpp fix_pour.cpp fix_press_berendsen.cpp fix_print.cpp fix_property_atom.cpp fix_qeq_comb.cpp fix_read_restart.cpp fix_recenter.cpp fix_respa.cpp fix_restrain.cpp fix_rigid.cpp fix_rigid_nh.cpp fix_rigid_nh_small.cpp fix_rigid_nph.cpp fix_rigid_nph_small.cpp fix_rigid_npt.cpp fix_rigid_npt_small.cpp fix_rigid_nve.cpp fix_rigid_nve_small.cpp fix_rigid_nvt.cpp fix_rigid_nvt_small.cpp fix_rigid_small.cpp fix_setforce.cpp fix_shake.cpp fix_shear_history.cpp fix_spring.cpp fix_spring_rg.cpp fix_spring_self.cpp fix_srd.cpp fix_store.cpp fix_store_force.cpp fix_store_state.cpp fix_temp_berendsen.cpp fix_temp_csvr.cpp fix_temp_rescale.cpp fix_thermal_conductivity.cpp fix_tmd.cpp fix_ttm.cpp fix_vector.cpp fix_viscosity.cpp fix_viscous.cpp fix_wall.cpp fix_wall_colloid.cpp fix_wall_gran.cpp fix_wall_harmonic.cpp fix_wall_lj1043.cpp fix_wall_lj126.cpp fix_wall_lj93.cpp fix_wall_piston.cpp fix_wall_reflect.cpp fix_wall_region.cpp fix_wall_srd.cpp force.cpp group.cpp image.cpp improper.cpp improper_class2.cpp improper_cvff.cpp improper_harmonic.cpp improper_hybrid.cpp improper_umbrella.cpp input.cpp integrate.cpp irregular.cpp kspace.cpp lammps.cpp lattice.cpp library.cpp math_extra.cpp memory.cpp min.cpp min_cg.cpp min_fire.cpp min_hftn.cpp min_linesearch.cpp min_quickmin.cpp min_sd.cpp minimize.cpp modify.cpp molecule.cpp neb.cpp neigh_bond.cpp neigh_derive.cpp neigh_full.cpp neigh_gran.cpp neigh_half_bin.cpp neigh_half_multi.cpp neigh_half_nsq.cpp neigh_list.cpp neigh_request.cpp neigh_respa.cpp neigh_stencil.cpp neighbor.cpp output.cpp pair.cpp pair_adp.cpp pair_airebo.cpp pair_beck.cpp pair_body.cpp pair_bop.cpp pair_born.cpp pair_born_coul_wolf.cpp pair_brownian.cpp pair_brownian_poly.cpp pair_buck.cpp pair_buck_coul_cut.cpp pair_colloid.cpp pair_comb.cpp pair_comb3.cpp pair_coul_cut.cpp pair_coul_debye.cpp pair_coul_dsf.cpp pair_coul_wolf.cpp pair_dipole_cut.cpp pair_dpd.cpp pair_dpd_tstat.cpp pair_dsmc.cpp pair_eam.cpp pair_eam_alloy.cpp pair_eam_alloy_opt.cpp pair_eam_fs.cpp pair_eam_fs_opt.cpp pair_eam_opt.cpp pair_eim.cpp pair_gauss.cpp pair_gayberne.cpp pair_gran_hertz_history.cpp pair_gran_hooke.cpp pair_gran_hooke_history.cpp pair_hbond_dreiding_lj.cpp pair_hbond_dreiding_morse.cpp pair_hybrid.cpp pair_hybrid_overlay.cpp pair_lcbop.cpp pair_line_lj.cpp pair_lj96_cut.cpp pair_lj_charmm_coul_charmm.cpp pair_lj_charmm_coul_charmm_implicit.cpp pair_lj_class2.cpp pair_lj_class2_coul_cut.cpp pair_lj_class2_coul_long.cpp pair_lj_cubic.cpp pair_lj_cut.cpp pair_lj_cut_coul_cut.cpp pair_lj_cut_coul_debye.cpp pair_lj_cut_coul_dsf.cpp pair_lj_cut_dipole_cut.cpp pair_lj_cut_dipole_long.cpp pair_lj_cut_opt.cpp pair_lj_cut_tip4p_cut.cpp pair_lj_expand.cpp pair_lj_gromacs.cpp pair_lj_gromacs_coul_gromacs.cpp pair_lj_long_dipole_long.cpp pair_lj_smooth.cpp pair_lj_smooth_linear.cpp pair_lubricate.cpp pair_lubricateU.cpp pair_lubricateU_poly.cpp pair_lubricate_poly.cpp pair_mie_cut.cpp pair_morse.cpp pair_morse_opt.cpp pair_nb3b_harmonic.cpp pair_nm_cut.cpp pair_nm_cut_coul_cut.cpp pair_nm_cut_coul_long.cpp pair_peri_eps.cpp pair_peri_lps.cpp pair_peri_pmb.cpp pair_peri_ves.cpp pair_rebo.cpp pair_resquared.cpp pair_soft.cpp pair_sw.cpp pair_table.cpp pair_tersoff.cpp pair_tersoff_mod.cpp pair_tersoff_zbl.cpp pair_tip4p_cut.cpp pair_tri_lj.cpp pair_yukawa.cpp pair_yukawa_colloid.cpp pair_zbl.cpp prd.cpp procmap.cpp random_mars.cpp random_park.cpp read_data.cpp read_dump.cpp read_restart.cpp reader.cpp reader_native.cpp reader_xyz.cpp region.cpp region_block.cpp region_cone.cpp region_cylinder.cpp region_intersect.cpp region_plane.cpp region_prism.cpp region_sphere.cpp region_union.cpp replicate.cpp rerun.cpp respa.cpp run.cpp set.cpp special.cpp tad.cpp temper.cpp thermo.cpp timer.cpp universe.cpp update.cpp variable.cpp velocity.cpp verlet.cpp verlet_split.cpp write_data.cpp write_dump.cpp write_restart.cpp xdr_compat.cpp +SRC = angle.cpp angle_charmm.cpp angle_cosine.cpp angle_cosine_delta.cpp angle_cosine_periodic.cpp angle_cosine_squared.cpp angle_harmonic.cpp angle_hybrid.cpp angle_table.cpp atom.cpp atom_map.cpp atom_vec.cpp atom_vec_angle.cpp atom_vec_atomic.cpp atom_vec_body.cpp atom_vec_bond.cpp atom_vec_charge.cpp atom_vec_ellipsoid.cpp atom_vec_full.cpp atom_vec_hybrid.cpp atom_vec_line.cpp atom_vec_molecular.cpp atom_vec_sphere.cpp atom_vec_template.cpp atom_vec_tri.cpp balance.cpp body.cpp bond.cpp bond_fene.cpp bond_fene_expand.cpp bond_harmonic.cpp bond_hybrid.cpp bond_morse.cpp bond_nonlinear.cpp bond_quartic.cpp bond_table.cpp change_box.cpp citeme.cpp comm.cpp comm_brick.cpp comm_tiled.cpp compute.cpp compute_angle_local.cpp compute_atom_molecule.cpp compute_bond_local.cpp compute_centro_atom.cpp compute_cluster_atom.cpp compute_cna_atom.cpp compute_com.cpp compute_com_molecule.cpp compute_contact_atom.cpp compute_coord_atom.cpp compute_dihedral_local.cpp compute_displace_atom.cpp compute_erotate_rigid.cpp compute_erotate_sphere.cpp compute_erotate_sphere_atom.cpp compute_group_group.cpp compute_gyration.cpp compute_gyration_molecule.cpp compute_heat_flux.cpp compute_improper_local.cpp compute_inertia_molecule.cpp compute_ke.cpp compute_ke_atom.cpp compute_ke_rigid.cpp compute_msd.cpp compute_msd_molecule.cpp compute_pair.cpp compute_pair_local.cpp compute_pe.cpp compute_pe_atom.cpp compute_pressure.cpp compute_property_atom.cpp compute_property_local.cpp compute_property_molecule.cpp compute_rdf.cpp compute_reduce.cpp compute_reduce_region.cpp compute_slice.cpp compute_stress_atom.cpp compute_temp.cpp compute_temp_com.cpp compute_temp_deform.cpp compute_temp_partial.cpp compute_temp_profile.cpp compute_temp_ramp.cpp compute_temp_region.cpp compute_temp_sphere.cpp compute_vacf.cpp create_atoms.cpp create_box.cpp delete_atoms.cpp delete_bonds.cpp dihedral.cpp dihedral_charmm.cpp dihedral_harmonic.cpp dihedral_helix.cpp dihedral_hybrid.cpp dihedral_multi_harmonic.cpp dihedral_opls.cpp displace_atoms.cpp domain.cpp dump.cpp dump_atom.cpp dump_cfg.cpp dump_custom.cpp dump_dcd.cpp dump_image.cpp dump_local.cpp dump_movie.cpp dump_xyz.cpp error.cpp ewald.cpp ewald_disp.cpp fft3d.cpp fft3d_wrap.cpp finish.cpp fix.cpp fix_adapt.cpp fix_addforce.cpp fix_ave_atom.cpp fix_ave_correlate.cpp fix_ave_histo.cpp fix_ave_spatial.cpp fix_ave_time.cpp fix_aveforce.cpp fix_balance.cpp fix_box_relax.cpp fix_deform.cpp fix_drag.cpp fix_dt_reset.cpp fix_enforce2d.cpp fix_external.cpp fix_freeze.cpp fix_gravity.cpp fix_group.cpp fix_heat.cpp fix_indent.cpp fix_langevin.cpp fix_lineforce.cpp fix_minimize.cpp fix_momentum.cpp fix_move.cpp fix_nh.cpp fix_nh_sphere.cpp fix_nph.cpp fix_nph_sphere.cpp fix_npt.cpp fix_npt_sphere.cpp fix_nve.cpp fix_nve_limit.cpp fix_nve_noforce.cpp fix_nve_sphere.cpp fix_nvt.cpp fix_nvt_sllod.cpp fix_nvt_sphere.cpp fix_planeforce.cpp fix_pour.cpp fix_press_berendsen.cpp fix_print.cpp fix_property_atom.cpp fix_qeq_comb.cpp fix_read_restart.cpp fix_recenter.cpp fix_respa.cpp fix_restrain.cpp fix_rigid.cpp fix_rigid_nh.cpp fix_rigid_nh_small.cpp fix_rigid_nph.cpp fix_rigid_nph_small.cpp fix_rigid_npt.cpp fix_rigid_npt_small.cpp fix_rigid_nve.cpp fix_rigid_nve_small.cpp fix_rigid_nvt.cpp fix_rigid_nvt_small.cpp fix_rigid_small.cpp fix_setforce.cpp fix_shake.cpp fix_shear_history.cpp fix_spring.cpp fix_spring_rg.cpp fix_spring_self.cpp fix_store.cpp fix_store_force.cpp fix_store_state.cpp fix_temp_berendsen.cpp fix_temp_csvr.cpp fix_temp_rescale.cpp fix_tmd.cpp fix_tune_kspace.cpp fix_vector.cpp fix_viscous.cpp fix_wall.cpp fix_wall_gran.cpp fix_wall_harmonic.cpp fix_wall_lj1043.cpp fix_wall_lj126.cpp fix_wall_lj93.cpp fix_wall_reflect.cpp fix_wall_region.cpp force.cpp gridcomm.cpp group.cpp image.cpp improper.cpp improper_cvff.cpp improper_harmonic.cpp improper_hybrid.cpp improper_umbrella.cpp input.cpp integrate.cpp irregular.cpp kspace.cpp lammps.cpp lattice.cpp library.cpp math_extra.cpp memory.cpp min.cpp min_cg.cpp min_fire.cpp min_hftn.cpp min_linesearch.cpp min_quickmin.cpp min_sd.cpp minimize.cpp modify.cpp molecule.cpp msm.cpp msm_cg.cpp neigh_bond.cpp neigh_derive.cpp neigh_full.cpp neigh_gran.cpp neigh_half_bin.cpp neigh_half_multi.cpp neigh_half_nsq.cpp neigh_list.cpp neigh_request.cpp neigh_respa.cpp neigh_stencil.cpp neighbor.cpp output.cpp pair.cpp pair_adp.cpp pair_airebo.cpp pair_beck.cpp pair_bop.cpp pair_born.cpp pair_born_coul_long.cpp pair_born_coul_msm.cpp pair_born_coul_wolf.cpp pair_buck.cpp pair_buck_coul_cut.cpp pair_buck_coul_long.cpp pair_buck_coul_msm.cpp pair_buck_long_coul_long.cpp pair_comb.cpp pair_comb3.cpp pair_coul_cut.cpp pair_coul_debye.cpp pair_coul_dsf.cpp pair_coul_long.cpp pair_coul_msm.cpp pair_coul_wolf.cpp pair_dipole_cut.cpp pair_dpd.cpp pair_dpd_tstat.cpp pair_eam.cpp pair_eam_alloy.cpp pair_eam_fs.cpp pair_eim.cpp pair_gauss.cpp pair_gran_hertz_history.cpp pair_gran_hooke.cpp pair_gran_hooke_history.cpp pair_hbond_dreiding_lj.cpp pair_hbond_dreiding_morse.cpp pair_hybrid.cpp pair_hybrid_overlay.cpp pair_lcbop.cpp pair_lj96_cut.cpp pair_lj_charmm_coul_charmm.cpp pair_lj_charmm_coul_charmm_implicit.cpp pair_lj_charmm_coul_long.cpp pair_lj_charmm_coul_msm.cpp pair_lj_cubic.cpp pair_lj_cut.cpp pair_lj_cut_coul_cut.cpp pair_lj_cut_coul_debye.cpp pair_lj_cut_coul_dsf.cpp pair_lj_cut_coul_long.cpp pair_lj_cut_coul_msm.cpp pair_lj_cut_tip4p_cut.cpp pair_lj_cut_tip4p_long.cpp pair_lj_expand.cpp pair_lj_gromacs.cpp pair_lj_gromacs_coul_gromacs.cpp pair_lj_long_coul_long.cpp pair_lj_long_tip4p_long.cpp pair_lj_smooth.cpp pair_lj_smooth_linear.cpp pair_mie_cut.cpp pair_morse.cpp pair_nb3b_harmonic.cpp pair_rebo.cpp pair_soft.cpp pair_sw.cpp pair_table.cpp pair_tersoff.cpp pair_tersoff_mod.cpp pair_tersoff_zbl.cpp pair_tip4p_cut.cpp pair_tip4p_long.cpp pair_yukawa.cpp pair_zbl.cpp pppm.cpp pppm_cg.cpp pppm_disp.cpp pppm_disp_tip4p.cpp pppm_stagger.cpp pppm_tip4p.cpp procmap.cpp random_mars.cpp random_park.cpp rcb.cpp read_data.cpp read_dump.cpp read_restart.cpp reader.cpp reader_native.cpp reader_xyz.cpp region.cpp region_block.cpp region_cone.cpp region_cylinder.cpp region_intersect.cpp region_plane.cpp region_prism.cpp region_sphere.cpp region_union.cpp remap.cpp remap_wrap.cpp replicate.cpp rerun.cpp respa.cpp run.cpp set.cpp special.cpp thermo.cpp timer.cpp universe.cpp update.cpp variable.cpp velocity.cpp verlet.cpp write_data.cpp write_dump.cpp write_restart.cpp -INC = accelerator_cuda.h accelerator_kokkos.h accelerator_omp.h angle.h angle_charmm.h angle_class2.h angle_cosine.h angle_cosine_delta.h angle_cosine_periodic.h angle_cosine_squared.h angle_harmonic.h angle_hybrid.h angle_table.h atom.h atom_map.h atom_masks.h atom_vec.h atom_vec_angle.h atom_vec_atomic.h atom_vec_body.h atom_vec_bond.h atom_vec_charge.h atom_vec_dipole.h atom_vec_ellipsoid.h atom_vec_full.h atom_vec_hybrid.h atom_vec_line.h atom_vec_molecular.h atom_vec_peri.h atom_vec_sphere.h atom_vec_template.h atom_vec_tri.h balance.h body.h body_nparticle.h bond.h bond_class2.h bond_fene.h bond_fene_expand.h bond_harmonic.h bond_hybrid.h bond_morse.h bond_nonlinear.h bond_quartic.h bond_table.h change_box.h citeme.h comm.h comm_brick.h comm_tiled.h compute.h compute_angle_local.h compute_atom_molecule.h compute_body_local.h compute_bond_local.h compute_centro_atom.h compute_cluster_atom.h compute_cna_atom.h compute_com.h compute_com_molecule.h compute_contact_atom.h compute_coord_atom.h compute_damage_atom.h compute_dihedral_local.h compute_dilatation_atom.h compute_displace_atom.h compute_erotate_asphere.h compute_erotate_rigid.h compute_erotate_sphere.h compute_erotate_sphere_atom.h compute_event_displace.h compute_group_group.h compute_gyration.h compute_gyration_molecule.h compute_heat_flux.h compute_improper_local.h compute_inertia_molecule.h compute_ke.h compute_ke_atom.h compute_ke_rigid.h compute_msd.h compute_msd_molecule.h compute_msd_nongauss.h compute_pair.h compute_pair_local.h compute_pe.h compute_pe_atom.h compute_plasticity_atom.h compute_pressure.h compute_property_atom.h compute_property_local.h compute_property_molecule.h compute_rdf.h compute_reduce.h compute_reduce_region.h compute_slice.h compute_stress_atom.h compute_temp.h compute_temp_asphere.h compute_temp_com.h compute_temp_deform.h compute_temp_partial.h compute_temp_profile.h compute_temp_ramp.h compute_temp_region.h compute_temp_sphere.h compute_ti.h compute_vacf.h create_atoms.h create_box.h delete_atoms.h delete_bonds.h dihedral.h dihedral_charmm.h dihedral_class2.h dihedral_harmonic.h dihedral_helix.h dihedral_hybrid.h dihedral_multi_harmonic.h dihedral_opls.h displace_atoms.h domain.h dump.h dump_atom.h dump_cfg.h dump_custom.h dump_dcd.h dump_image.h dump_local.h dump_movie.h dump_xtc.h dump_xyz.h error.h finish.h fix.h fix_adapt.h fix_addforce.h fix_append_atoms.h fix_ave_atom.h fix_ave_correlate.h fix_ave_histo.h fix_ave_spatial.h fix_ave_time.h fix_aveforce.h fix_balance.h fix_bond_break.h fix_bond_create.h fix_bond_swap.h fix_box_relax.h fix_deform.h fix_deposit.h fix_drag.h fix_dt_reset.h fix_efield.h fix_enforce2d.h fix_evaporate.h fix_event.h fix_event_prd.h fix_event_tad.h fix_external.h fix_freeze.h fix_gcmc.h fix_gld.h fix_gravity.h fix_group.h fix_heat.h fix_indent.h fix_langevin.h fix_lineforce.h fix_minimize.h fix_momentum.h fix_move.h fix_msst.h fix_neb.h fix_nh.h fix_nh_asphere.h fix_nh_sphere.h fix_nph.h fix_nph_asphere.h fix_nph_sphere.h fix_nphug.h fix_npt.h fix_npt_asphere.h fix_npt_sphere.h fix_nve.h fix_nve_asphere.h fix_nve_asphere_noforce.h fix_nve_body.h fix_nve_limit.h fix_nve_line.h fix_nve_noforce.h fix_nve_sphere.h fix_nve_tri.h fix_nvt.h fix_nvt_asphere.h fix_nvt_sllod.h fix_nvt_sphere.h fix_oneway.h fix_orient_fcc.h fix_peri_neigh.h fix_planeforce.h fix_pour.h fix_press_berendsen.h fix_print.h fix_property_atom.h fix_qeq_comb.h fix_read_restart.h fix_recenter.h fix_respa.h fix_restrain.h fix_rigid.h fix_rigid_nh.h fix_rigid_nh_small.h fix_rigid_nph.h fix_rigid_nph_small.h fix_rigid_npt.h fix_rigid_npt_small.h fix_rigid_nve.h fix_rigid_nve_small.h fix_rigid_nvt.h fix_rigid_nvt_small.h fix_rigid_small.h fix_setforce.h fix_shake.h fix_shear_history.h fix_spring.h fix_spring_rg.h fix_spring_self.h fix_srd.h fix_store.h fix_store_force.h fix_store_state.h fix_temp_berendsen.h fix_temp_csvr.h fix_temp_rescale.h fix_thermal_conductivity.h fix_tmd.h fix_ttm.h fix_vector.h fix_viscosity.h fix_viscous.h fix_wall.h fix_wall_colloid.h fix_wall_gran.h fix_wall_harmonic.h fix_wall_lj1043.h fix_wall_lj126.h fix_wall_lj93.h fix_wall_piston.h fix_wall_reflect.h fix_wall_region.h fix_wall_srd.h force.h group.h image.h improper.h improper_class2.h improper_cvff.h improper_harmonic.h improper_hybrid.h improper_umbrella.h input.h integrate.h irregular.h kspace.h lammps.h lattice.h library.h lmptype.h lmpwindows.h math_complex.h math_const.h math_extra.h math_special.h math_vector.h memory.h min.h min_cg.h min_fire.h min_hftn.h min_linesearch.h min_quickmin.h min_sd.h minimize.h modify.h molecule.h mpiio.h my_page.h my_pool_chunk.h neb.h neigh_bond.h neigh_derive.h neigh_full.h neigh_gran.h neigh_half_bin.h neigh_half_multi.h neigh_half_nsq.h neigh_list.h neigh_request.h neigh_respa.h neighbor.h output.h pack.h pair.h pair_adp.h pair_airebo.h pair_beck.h pair_body.h pair_bop.h pair_born.h pair_born_coul_wolf.h pair_brownian.h pair_brownian_poly.h pair_buck.h pair_buck_coul_cut.h pair_colloid.h pair_comb.h pair_comb3.h pair_coul_cut.h pair_coul_debye.h pair_coul_dsf.h pair_coul_wolf.h pair_dipole_cut.h pair_dpd.h pair_dpd_tstat.h pair_dsmc.h pair_eam.h pair_eam_alloy.h pair_eam_alloy_opt.h pair_eam_fs.h pair_eam_fs_opt.h pair_eam_opt.h pair_eim.h pair_gauss.h pair_gayberne.h pair_gran_hertz_history.h pair_gran_hooke.h pair_gran_hooke_history.h pair_hbond_dreiding_lj.h pair_hbond_dreiding_morse.h pair_hybrid.h pair_hybrid_overlay.h pair_lcbop.h pair_line_lj.h pair_lj96_cut.h pair_lj_charmm_coul_charmm.h pair_lj_charmm_coul_charmm_implicit.h pair_lj_class2.h pair_lj_class2_coul_cut.h pair_lj_class2_coul_long.h pair_lj_cubic.h pair_lj_cut.h pair_lj_cut_coul_cut.h pair_lj_cut_coul_debye.h pair_lj_cut_coul_dsf.h pair_lj_cut_dipole_cut.h pair_lj_cut_dipole_long.h pair_lj_cut_opt.h pair_lj_cut_tip4p_cut.h pair_lj_expand.h pair_lj_gromacs.h pair_lj_gromacs_coul_gromacs.h pair_lj_long_dipole_long.h pair_lj_smooth.h pair_lj_smooth_linear.h pair_lubricate.h pair_lubricateU.h pair_lubricateU_poly.h pair_lubricate_poly.h pair_mie_cut.h pair_morse.h pair_morse_opt.h pair_nb3b_harmonic.h pair_nm_cut.h pair_nm_cut_coul_cut.h pair_nm_cut_coul_long.h pair_peri_eps.h pair_peri_lps.h pair_peri_pmb.h pair_peri_ves.h pair_rebo.h pair_resquared.h pair_soft.h pair_sw.h pair_table.h pair_tersoff.h pair_tersoff_mod.h pair_tersoff_zbl.h pair_tip4p_cut.h pair_tri_lj.h pair_yukawa.h pair_yukawa_colloid.h pair_zbl.h pointers.h prd.h procmap.h random_mars.h random_park.h read_data.h read_dump.h read_restart.h reader.h reader_native.h reader_xyz.h region.h region_block.h region_cone.h region_cylinder.h region_intersect.h region_plane.h region_prism.h region_sphere.h region_union.h replicate.h rerun.h respa.h run.h set.h special.h style_angle.h style_atom.h style_body.h style_bond.h style_command.h style_compute.h style_dihedral.h style_dump.h style_fix.h style_improper.h style_integrate.h style_kspace.h style_minimize.h style_pair.h style_reader.h style_region.h suffix.h tad.h temper.h thermo.h timer.h universe.h update.h variable.h velocity.h verlet.h verlet_split.h version.h write_data.h write_dump.h write_restart.h xdr_compat.h +INC = accelerator_cuda.h accelerator_intel.h accelerator_kokkos.h accelerator_omp.h angle.h angle_charmm.h angle_cosine.h angle_cosine_delta.h angle_cosine_periodic.h angle_cosine_squared.h angle_harmonic.h angle_hybrid.h angle_table.h atom.h atom_map.h atom_masks.h atom_vec.h atom_vec_angle.h atom_vec_atomic.h atom_vec_body.h atom_vec_bond.h atom_vec_charge.h atom_vec_ellipsoid.h atom_vec_full.h atom_vec_hybrid.h atom_vec_line.h atom_vec_molecular.h atom_vec_sphere.h atom_vec_template.h atom_vec_tri.h balance.h body.h bond.h bond_fene.h bond_fene_expand.h bond_harmonic.h bond_hybrid.h bond_morse.h bond_nonlinear.h bond_quartic.h bond_table.h change_box.h citeme.h comm.h comm_brick.h comm_tiled.h compute.h compute_angle_local.h compute_atom_molecule.h compute_bond_local.h compute_centro_atom.h compute_cluster_atom.h compute_cna_atom.h compute_com.h compute_com_molecule.h compute_contact_atom.h compute_coord_atom.h compute_dihedral_local.h compute_displace_atom.h compute_erotate_rigid.h compute_erotate_sphere.h compute_erotate_sphere_atom.h compute_group_group.h compute_gyration.h compute_gyration_molecule.h compute_heat_flux.h compute_improper_local.h compute_inertia_molecule.h compute_ke.h compute_ke_atom.h compute_ke_rigid.h compute_msd.h compute_msd_molecule.h compute_pair.h compute_pair_local.h compute_pe.h compute_pe_atom.h compute_pressure.h compute_property_atom.h compute_property_local.h compute_property_molecule.h compute_rdf.h compute_reduce.h compute_reduce_region.h compute_slice.h compute_stress_atom.h compute_temp.h compute_temp_com.h compute_temp_deform.h compute_temp_partial.h compute_temp_profile.h compute_temp_ramp.h compute_temp_region.h compute_temp_sphere.h compute_vacf.h create_atoms.h create_box.h delete_atoms.h delete_bonds.h dihedral.h dihedral_charmm.h dihedral_harmonic.h dihedral_helix.h dihedral_hybrid.h dihedral_multi_harmonic.h dihedral_opls.h displace_atoms.h domain.h dump.h dump_atom.h dump_cfg.h dump_custom.h dump_dcd.h dump_image.h dump_local.h dump_movie.h dump_xyz.h error.h ewald.h ewald_disp.h fft3d.h fft3d_wrap.h finish.h fix.h fix_adapt.h fix_addforce.h fix_ave_atom.h fix_ave_correlate.h fix_ave_histo.h fix_ave_spatial.h fix_ave_time.h fix_aveforce.h fix_balance.h fix_box_relax.h fix_deform.h fix_drag.h fix_dt_reset.h fix_enforce2d.h fix_external.h fix_freeze.h fix_gravity.h fix_group.h fix_heat.h fix_indent.h fix_langevin.h fix_lineforce.h fix_minimize.h fix_momentum.h fix_move.h fix_nh.h fix_nh_sphere.h fix_nph.h fix_nph_sphere.h fix_npt.h fix_npt_sphere.h fix_nve.h fix_nve_limit.h fix_nve_noforce.h fix_nve_sphere.h fix_nvt.h fix_nvt_sllod.h fix_nvt_sphere.h fix_planeforce.h fix_pour.h fix_press_berendsen.h fix_print.h fix_property_atom.h fix_qeq_comb.h fix_read_restart.h fix_recenter.h fix_respa.h fix_restrain.h fix_rigid.h fix_rigid_nh.h fix_rigid_nh_small.h fix_rigid_nph.h fix_rigid_nph_small.h fix_rigid_npt.h fix_rigid_npt_small.h fix_rigid_nve.h fix_rigid_nve_small.h fix_rigid_nvt.h fix_rigid_nvt_small.h fix_rigid_small.h fix_setforce.h fix_shake.h fix_shear_history.h fix_spring.h fix_spring_rg.h fix_spring_self.h fix_store.h fix_store_force.h fix_store_state.h fix_temp_berendsen.h fix_temp_csvr.h fix_temp_rescale.h fix_tmd.h fix_tune_kspace.h fix_vector.h fix_viscous.h fix_wall.h fix_wall_gran.h fix_wall_harmonic.h fix_wall_lj1043.h fix_wall_lj126.h fix_wall_lj93.h fix_wall_reflect.h fix_wall_region.h force.h gridcomm.h group.h image.h improper.h improper_cvff.h improper_harmonic.h improper_hybrid.h improper_umbrella.h input.h integrate.h irregular.h kissfft.h kspace.h lammps.h lattice.h library.h lmptype.h lmpwindows.h math_complex.h math_const.h math_extra.h math_special.h math_vector.h memory.h min.h min_cg.h min_fire.h min_hftn.h min_linesearch.h min_quickmin.h min_sd.h minimize.h modify.h molecule.h mpiio.h msm.h msm_cg.h my_page.h my_pool_chunk.h neigh_bond.h neigh_derive.h neigh_full.h neigh_gran.h neigh_half_bin.h neigh_half_multi.h neigh_half_nsq.h neigh_list.h neigh_request.h neigh_respa.h neighbor.h output.h pack.h pair.h pair_adp.h pair_airebo.h pair_beck.h pair_bop.h pair_born.h pair_born_coul_long.h pair_born_coul_msm.h pair_born_coul_wolf.h pair_buck.h pair_buck_coul_cut.h pair_buck_coul_long.h pair_buck_coul_msm.h pair_buck_long_coul_long.h pair_comb.h pair_comb3.h pair_coul_cut.h pair_coul_debye.h pair_coul_dsf.h pair_coul_long.h pair_coul_msm.h pair_coul_wolf.h pair_dipole_cut.h pair_dpd.h pair_dpd_tstat.h pair_eam.h pair_eam_alloy.h pair_eam_fs.h pair_eim.h pair_gauss.h pair_gran_hertz_history.h pair_gran_hooke.h pair_gran_hooke_history.h pair_hbond_dreiding_lj.h pair_hbond_dreiding_morse.h pair_hybrid.h pair_hybrid_overlay.h pair_lcbop.h pair_lj96_cut.h pair_lj_charmm_coul_charmm.h pair_lj_charmm_coul_charmm_implicit.h pair_lj_charmm_coul_long.h pair_lj_charmm_coul_msm.h pair_lj_cubic.h pair_lj_cut.h pair_lj_cut_coul_cut.h pair_lj_cut_coul_debye.h pair_lj_cut_coul_dsf.h pair_lj_cut_coul_long.h pair_lj_cut_coul_msm.h pair_lj_cut_tip4p_cut.h pair_lj_cut_tip4p_long.h pair_lj_expand.h pair_lj_gromacs.h pair_lj_gromacs_coul_gromacs.h pair_lj_long_coul_long.h pair_lj_long_tip4p_long.h pair_lj_smooth.h pair_lj_smooth_linear.h pair_mie_cut.h pair_morse.h pair_nb3b_harmonic.h pair_rebo.h pair_soft.h pair_sw.h pair_table.h pair_tersoff.h pair_tersoff_mod.h pair_tersoff_zbl.h pair_tip4p_cut.h pair_tip4p_long.h pair_yukawa.h pair_zbl.h pointers.h pppm.h pppm_cg.h pppm_disp.h pppm_disp_tip4p.h pppm_stagger.h pppm_tip4p.h procmap.h random_mars.h random_park.h rcb.h read_data.h read_dump.h read_restart.h reader.h reader_native.h reader_xyz.h region.h region_block.h region_cone.h region_cylinder.h region_intersect.h region_plane.h region_prism.h region_sphere.h region_union.h remap.h remap_wrap.h replicate.h rerun.h respa.h run.h set.h special.h style_angle.h style_atom.h style_body.h style_bond.h style_command.h style_compute.h style_dihedral.h style_dump.h style_fix.h style_improper.h style_integrate.h style_kspace.h style_minimize.h style_pair.h style_reader.h style_region.h suffix.h thermo.h timer.h universe.h update.h variable.h velocity.h verlet.h version.h write_data.h write_dump.h write_restart.h OBJ = $(SRC:.cpp=.o) # Targets help: @echo 'Type "make target" where target is one of:' @echo '' @files="`ls MAKE/Makefile.*`"; \ for file in $$files; do head -1 $$file; done clean: rm -rf Obj_shlib_* .DEFAULT: @test -f MAKE/Makefile.$@ @if [ ! -d Obj_shlib_$@ ]; then mkdir Obj_shlib_$@; fi @cp -p $(SRC) $(INC) Obj_shlib_$@ @cp MAKE/Makefile.$@ Obj_shlib_$@/Makefile @if [ ! -e Makefile.package ]; \ then cp Makefile.package.empty Makefile.package; fi @if [ ! -e Makefile.package.settings ]; \ then cp Makefile.package.settings.empty Makefile.package.settings; fi @cp Makefile.package Makefile.package.settings Obj_shlib_$@ @cd Obj_shlib_$@; \ $(MAKE) $(MFLAGS) "OBJ = $(OBJ)" \ "INC = $(INC)" "EXE = ../$(EXE)" shlib @rm -f liblammps.so @ln -s $(EXE) liblammps.so @if [ -d Obj_shlib_$@ ]; then cd Obj_shlib_$@; \ rm -f $(SRC) $(INC) Makefile*; fi diff --git a/src/OPT/pair_eam_alloy_opt.h b/src/OPT/pair_eam_alloy_opt.h index 04afac8c6..c6056e3cf 100644 --- a/src/OPT/pair_eam_alloy_opt.h +++ b/src/OPT/pair_eam_alloy_opt.h @@ -1,36 +1,36 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(eam/alloy/opt,PairEAMAlloyOpt) #else #ifndef LMP_PAIR_EAM_ALLOY_OPT_H #define LMP_PAIR_EAM_ALLOY_OPT_H #include "pair_eam_alloy.h" #include "pair_eam_opt.h" namespace LAMMPS_NS { class PairEAMAlloyOpt : public PairEAMAlloy, public PairEAMOpt { public: PairEAMAlloyOpt(class LAMMPS *); }; } #endif #endif diff --git a/src/OPT/pair_eam_fs_opt.h b/src/OPT/pair_eam_fs_opt.h index 64da344ec..f8fba9871 100644 --- a/src/OPT/pair_eam_fs_opt.h +++ b/src/OPT/pair_eam_fs_opt.h @@ -1,36 +1,36 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(eam/fs/opt,PairEAMFSOpt) #else #ifndef LMP_PAIR_EAM_FS_OPT_H #define LMP_PAIR_EAM_FS_OPT_H #include "pair_eam_fs.h" #include "pair_eam_opt.h" namespace LAMMPS_NS { class PairEAMFSOpt : public PairEAMFS, public PairEAMOpt { public: PairEAMFSOpt(class LAMMPS *); }; } #endif #endif diff --git a/src/OPT/pair_eam_opt.h b/src/OPT/pair_eam_opt.h index e174dae64..b9bc6a5a3 100644 --- a/src/OPT/pair_eam_opt.h +++ b/src/OPT/pair_eam_opt.h @@ -1,42 +1,42 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(eam/opt,PairEAMOpt) #else #ifndef LMP_PAIR_EAM_OPT_H #define LMP_PAIR_EAM_OPT_H #include "pair_eam.h" namespace LAMMPS_NS { // use virtual public since this class is parent in multiple inheritance class PairEAMOpt : virtual public PairEAM { public: PairEAMOpt(class LAMMPS *); virtual ~PairEAMOpt() {} void compute(int, int); private: template < int EVFLAG, int EFLAG, int NEWTON_PAIR > void eval(); }; } #endif #endif diff --git a/src/OPT/pair_lj_charmm_coul_long_opt.h b/src/OPT/pair_lj_charmm_coul_long_opt.h index 2e6b30e57..39477fae9 100644 --- a/src/OPT/pair_lj_charmm_coul_long_opt.h +++ b/src/OPT/pair_lj_charmm_coul_long_opt.h @@ -1,39 +1,39 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/charmm/coul/long/opt,PairLJCharmmCoulLongOpt) #else #ifndef LMP_PAIR_LJ_CHARMM_COUL_LONG_OPT_H #define LMP_PAIR_LJ_CHARMM_COUL_LONG_OPT_H #include "pair_lj_charmm_coul_long.h" namespace LAMMPS_NS { class PairLJCharmmCoulLongOpt : public PairLJCharmmCoulLong { public: PairLJCharmmCoulLongOpt(class LAMMPS *); void compute(int, int); private: template < int EVFLAG, int EFLAG, int NEWTON_PAIR > void eval(); }; } #endif #endif diff --git a/src/OPT/pair_lj_cut_coul_long_opt.h b/src/OPT/pair_lj_cut_coul_long_opt.h index 5afd3ffc7..435d27ff2 100644 --- a/src/OPT/pair_lj_cut_coul_long_opt.h +++ b/src/OPT/pair_lj_cut_coul_long_opt.h @@ -1,41 +1,41 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/coul/long/opt,PairLJCutCoulLongOpt) #else #ifndef LMP_PAIR_LJ_CUT_COUL_LONG_OPT_H #define LMP_PAIR_LJ_CUT_COUL_LONG_OPT_H #include "pair_lj_cut_coul_long.h" namespace LAMMPS_NS { class PairLJCutCoulLongOpt : public PairLJCutCoulLong { public: PairLJCutCoulLongOpt(class LAMMPS *); virtual void compute(int, int); protected: template void eval(); }; } #endif #endif diff --git a/src/OPT/pair_lj_cut_opt.h b/src/OPT/pair_lj_cut_opt.h index 0b01d169f..4c145ab71 100644 --- a/src/OPT/pair_lj_cut_opt.h +++ b/src/OPT/pair_lj_cut_opt.h @@ -1,39 +1,39 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/opt,PairLJCutOpt) #else #ifndef LMP_PAIR_LJ_CUT_OPT_H #define LMP_PAIR_LJ_CUT_OPT_H #include "pair_lj_cut.h" namespace LAMMPS_NS { class PairLJCutOpt : public PairLJCut { public: PairLJCutOpt(class LAMMPS *); void compute(int, int); private: template < int EVFLAG, int EFLAG, int NEWTON_PAIR > void eval(); }; } #endif #endif diff --git a/src/OPT/pair_lj_long_coul_long_opt.h b/src/OPT/pair_lj_long_coul_long_opt.h index 60718ff12..0bed57cac 100644 --- a/src/OPT/pair_lj_long_coul_long_opt.h +++ b/src/OPT/pair_lj_long_coul_long_opt.h @@ -1,48 +1,48 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/long/coul/long/opt,PairLJLongCoulLongOpt) #else #ifndef LMP_PAIR_LJ_LONG_COUL_LONG_OPT_H #define LMP_PAIR_LJ_LONG_COUL_LONG_OPT_H #include "pair_lj_long_coul_long.h" namespace LAMMPS_NS { class PairLJLongCoulLongOpt : public PairLJLongCoulLong { public: PairLJLongCoulLongOpt(class LAMMPS *); virtual void compute(int, int); virtual void compute_outer(int,int); protected: template void eval(); template void eval_outer(); }; } #endif #endif diff --git a/src/OPT/pair_morse_opt.h b/src/OPT/pair_morse_opt.h index 535430015..1415f6b78 100644 --- a/src/OPT/pair_morse_opt.h +++ b/src/OPT/pair_morse_opt.h @@ -1,39 +1,39 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(morse/opt,PairMorseOpt) #else #ifndef LMP_PAIR_MORSE_OPT_H #define LMP_PAIR_MORSE_OPT_H #include "pair_morse.h" namespace LAMMPS_NS { class PairMorseOpt : public PairMorse { public: PairMorseOpt(class LAMMPS *); void compute(int, int); private: template < int EVFLAG, int EFLAG, int NEWTON_PAIR > void eval(); }; } #endif #endif diff --git a/src/PERI/atom_vec_peri.h b/src/PERI/atom_vec_peri.h index fba71b5bb..0fc30d6dc 100755 --- a/src/PERI/atom_vec_peri.h +++ b/src/PERI/atom_vec_peri.h @@ -1,91 +1,91 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(peri,AtomVecPeri) #else #ifndef LMP_ATOM_VEC_PERI_H #define LMP_ATOM_VEC_PERI_H #include "atom_vec.h" namespace LAMMPS_NS { class AtomVecPeri : public AtomVec { public: AtomVecPeri(class LAMMPS *); void grow(int); void grow_reset(); void copy(int, int, int); int pack_comm(int, int *, double *, int, int *); int pack_comm_vel(int, int *, double *, int, int *); int pack_comm_hybrid(int, int *, double *); void unpack_comm(int, int, double *); void unpack_comm_vel(int, int, double *); int unpack_comm_hybrid(int, int, double *); int pack_reverse(int, int, double *); void unpack_reverse(int, int *, double *); int pack_border(int, int *, double *, int, int *); int pack_border_vel(int, int *, double *, int, int *); int pack_border_hybrid(int, int *, double *); void unpack_border(int, int, double *); void unpack_border_vel(int, int, double *); int unpack_border_hybrid(int, int, double *); int pack_exchange(int, double *); int unpack_exchange(double *); int size_restart(); int pack_restart(int, double *); int unpack_restart(double *); void create_atom(int, double *); void data_atom(double *, imageint, char **); int data_atom_hybrid(int, char **); void pack_data(double **); int pack_data_hybrid(int, double *); void write_data(FILE *, int, double **); int write_data_hybrid(FILE *, double *); int property_atom(char *); void pack_property_atom(int, double *, int, int); bigint memory_usage(); private: tagint *tag; int *type,*mask; imageint *image; double **x,**v,**f; double *vfrac,*rmass,*s0,**x0; }; } #endif #endif /* ERROR/WARNING messages: E: Per-processor system is too big The number of owned atoms plus ghost atoms on a single processor must fit in 32-bit integer. E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. E: Invalid mass value Self-explanatory. */ diff --git a/src/PERI/compute_damage_atom.h b/src/PERI/compute_damage_atom.h index cafff6379..ae3886bc6 100644 --- a/src/PERI/compute_damage_atom.h +++ b/src/PERI/compute_damage_atom.h @@ -1,63 +1,63 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(damage/atom,ComputeDamageAtom) #else #ifndef LMP_COMPUTE_DAMAGE_ATOM_H #define LMP_COMPUTE_DAMAGE_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputeDamageAtom : public Compute { public: ComputeDamageAtom(class LAMMPS *, int, char **); ~ComputeDamageAtom(); void init(); void compute_peratom(); double memory_usage(); private: int nmax; double *damage; int ifix_peri; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: More than one compute damage/atom It is not efficient to use compute ke/atom more than once. E: Compute damage/atom requires peridynamic potential Damage is a Peridynamic-specific metric. It requires you to be running a Peridynamics simulation. */ diff --git a/src/PERI/compute_dilatation_atom.h b/src/PERI/compute_dilatation_atom.h index 5e839cc3d..b24ecfcc4 100644 --- a/src/PERI/compute_dilatation_atom.h +++ b/src/PERI/compute_dilatation_atom.h @@ -1,48 +1,48 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(dilatation/atom,ComputeDilatationAtom) #else #ifndef LMP_COMPUTE_DILATATION_ATOM_H #define LMP_COMPUTE_DILATATION_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputeDilatationAtom : public Compute { friend class PairPeriPMB; friend class PairPeriLPS; friend class PairPeriVES; friend class PairPeriEPS; public: ComputeDilatationAtom(class LAMMPS *, int, char **); ~ComputeDilatationAtom(); void init(); void compute_peratom(); double memory_usage(); private: int nmax; double *dilatation; int isPMB,isLPS,isVES,isEPS; }; } #endif #endif diff --git a/src/PERI/compute_plasticity_atom.h b/src/PERI/compute_plasticity_atom.h index 9800b1253..50724e167 100644 --- a/src/PERI/compute_plasticity_atom.h +++ b/src/PERI/compute_plasticity_atom.h @@ -1,44 +1,44 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(plasticity/atom,ComputePlasticityAtom) #else #ifndef LMP_COMPUTE_PLASTICITY_ATOM_H #define LMP_COMPUTE_PLASTICITY_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputePlasticityAtom : public Compute { public: ComputePlasticityAtom(class LAMMPS *, int, char **); ~ComputePlasticityAtom(); void init(); void compute_peratom(); double memory_usage(); private: int nmax; double *plasticity; int ifix_peri; }; } #endif #endif diff --git a/src/PERI/fix_peri_neigh.h b/src/PERI/fix_peri_neigh.h index 2b02b5cdf..30d3d8143 100644 --- a/src/PERI/fix_peri_neigh.h +++ b/src/PERI/fix_peri_neigh.h @@ -1,92 +1,92 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(PERI_NEIGH,FixPeriNeigh) #else #ifndef LMP_FIX_PERI_NEIGH_H #define LMP_FIX_PERI_NEIGH_H #include "fix.h" namespace LAMMPS_NS { class FixPeriNeigh : public Fix { friend class PairPeriPMB; friend class PairPeriPMBOMP; friend class PairPeriLPS; friend class PairPeriVES; friend class PairPeriEPS; friend class PairPeriLPSOMP; friend class ComputeDamageAtom; friend class ComputePlasticityAtom; public: FixPeriNeigh(class LAMMPS *,int, char **); virtual ~FixPeriNeigh(); int setmask(); void init(); void init_list(int, class NeighList *); void setup(int); void min_setup(int); double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); int pack_exchange(int, double *); int unpack_exchange(int, double *); void write_restart(FILE *); void restart(char *); int pack_restart(int, double *); void unpack_restart(int, int); int size_restart(int); int maxsize_restart(); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); protected: int first; // flag for first time initialization int maxpartner; // max # of peridynamic neighs for any atom int *npartner; // # of neighbors for each atom tagint **partner; // neighs for each atom, stored as global IDs double **deviatorextention; // Deviatoric extention double **deviatorBackextention; // Deviatoric back extention double **deviatorPlasticextension; // Deviatoric plastic extension double *lambdaValue; double **r0; // initial distance to partners double **r1; // instanteneous distance to partners double *thetaValue; // dilatation double *vinter; // sum of vfrac for bonded neighbors double *wvolume; // weighted volume of particle int isPMB,isLPS,isVES,isEPS; // which flavor of PD class NeighList *list; }; } #endif #endif /* ERROR/WARNING messages: E: Duplicate particle in PeriDynamic bond - simulation box is too small This is likely because your box length is shorter than 2 times the bond length. */ diff --git a/src/PERI/pair_peri_eps.h b/src/PERI/pair_peri_eps.h index 9dbc0aaac..37eb0838c 100644 --- a/src/PERI/pair_peri_eps.h +++ b/src/PERI/pair_peri_eps.h @@ -1,112 +1,112 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(peri/eps,PairPeriEPS) #else #ifndef LMP_PAIR_PERI_EPS_H #define LMP_PAIR_PERI_EPS_H #include "pair.h" namespace LAMMPS_NS { class PairPeriEPS : public Pair { public: double *theta; double *elastic_energy; PairPeriEPS(class LAMMPS *); virtual ~PairPeriEPS(); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); void init_style(); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *) {} void read_restart_settings(FILE *) {} double memory_usage(); double influence_function(double, double, double); void compute_dilatation(); double compute_DeviatoricForceStateNorm(int); protected: int ifix_peri; double **bulkmodulus; double **shearmodulus; double **s00, **alpha; double **cut, **m_yieldstress; //NEW: **m_yieldstress double *s0_new; int nmax; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. E: Pair style peri requires atom style peri Self-explanatory. E: Pair peri requires an atom map, see atom_modify Even for atomic systems, an atom map is required to find Peridynamic bonds. Use the atom_modify command to define one. E: Pair peri requires a lattice be defined Use the lattice command for this purpose. E: Pair peri lattice is not identical in x, y, and z The lattice defined by the lattice command must be cubic. E: Fix peri neigh does not exist Somehow a fix that the pair style defines has been deleted. E: Divide by 0 in influence function of pair peri/lps This should not normally occur. It is likely a problem with your model. */ diff --git a/src/PERI/pair_peri_lps.h b/src/PERI/pair_peri_lps.h index ba01f60f9..caaac0518 100644 --- a/src/PERI/pair_peri_lps.h +++ b/src/PERI/pair_peri_lps.h @@ -1,107 +1,107 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(peri/lps,PairPeriLPS) #else #ifndef LMP_PAIR_PERI_LPS_H #define LMP_PAIR_PERI_LPS_H #include "pair.h" namespace LAMMPS_NS { class PairPeriLPS : public Pair { public: double *theta; double *elastic_energy; PairPeriLPS(class LAMMPS *); virtual ~PairPeriLPS(); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); void init_style(); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *) {} void read_restart_settings(FILE *) {} double memory_usage(); double influence_function(double, double, double); void compute_dilatation(); protected: int ifix_peri; double **bulkmodulus; double **shearmodulus; double **s00,**alpha; double **cut; double *s0_new; int nmax; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. E: Pair style peri requires atom style peri Self-explanatory. E: Pair peri requires an atom map, see atom_modify Even for atomic systems, an atom map is required to find Peridynamic bonds. Use the atom_modify command to define one. E: Pair peri lattice is not identical in x, y, and z The lattice defined by the lattice command must be cubic. E: Fix peri neigh does not exist Somehow a fix that the pair style defines has been deleted. E: Divide by 0 in influence function of pair peri/lps This should not normally occur. It is likely a problem with your model. */ diff --git a/src/PERI/pair_peri_pmb.h b/src/PERI/pair_peri_pmb.h index 23cc7cc47..25e7a8e83 100644 --- a/src/PERI/pair_peri_pmb.h +++ b/src/PERI/pair_peri_pmb.h @@ -1,94 +1,94 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(peri/pmb,PairPeriPMB) #else #ifndef LMP_PAIR_PERI_PMB_H #define LMP_PAIR_PERI_PMB_H #include "pair.h" namespace LAMMPS_NS { class PairPeriPMB : public Pair { public: PairPeriPMB(class LAMMPS *); virtual ~PairPeriPMB(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); void init_style(); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *) {} void read_restart_settings(FILE *) {} double single(int, int, int, int, double, double, double, double &); virtual double memory_usage(); protected: int ifix_peri; double **kspring; double **s00, **alpha; double **cut; double *s0_new; int nmax; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. E: Pair style peri requires atom style peri Self-explanatory. E: Pair peri requires an atom map, see atom_modify Even for atomic systems, an atom map is required to find Peridynamic bonds. Use the atom_modify command to define one. E: Pair peri lattice is not identical in x, y, and z The lattice defined by the lattice command must be cubic. E: Fix peri neigh does not exist Somehow a fix that the pair style defines has been deleted. */ diff --git a/src/PERI/pair_peri_ves.h b/src/PERI/pair_peri_ves.h index b2a3c59e6..6c39e98e6 100644 --- a/src/PERI/pair_peri_ves.h +++ b/src/PERI/pair_peri_ves.h @@ -1,114 +1,114 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(peri/ves,PairPeriVES) #else #ifndef LMP_PAIR_PERI_VES_H #define LMP_PAIR_PERI_VES_H #include "pair.h" namespace LAMMPS_NS { class PairPeriVES : public Pair { public: double *theta; double *elastic_energy; PairPeriVES(class LAMMPS *); virtual ~PairPeriVES(); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); void init_style(); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *) {} void read_restart_settings(FILE *) {} double memory_usage(); double influence_function(double, double, double); void compute_dilatation(); protected: int ifix_peri; double **bulkmodulus; double **shearmodulus; double **s00, **alpha; double **cut; double **m_lambdai; double **m_taubi; double *s0_new; int nmax; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. E: Pair style peri requires atom style peri Self-explanatory. E: Pair peri requires an atom map, see atom_modify Even for atomic systems, an atom map is required to find Peridynamic bonds. Use the atom_modify command to define one. E: Pair peri requires a lattice be defined Use the lattice command for this purpose. E: Pair peri lattice is not identical in x, y, and z The lattice defined by the lattice command must be cubic. E: Fix peri neigh does not exist Somehow a fix that the pair style defines has been deleted. E: Divide by 0 in influence function of pair peri/lps This should not normally occur. It is likely a problem with your model. */ diff --git a/src/POEMS/fix_poems.h b/src/POEMS/fix_poems.h index df0d2c40d..4d5e5c319 100644 --- a/src/POEMS/fix_poems.h +++ b/src/POEMS/fix_poems.h @@ -1,197 +1,197 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(poems,FixPOEMS) #else #ifndef LMP_FIX_POEMS_H #define LMP_FIX_POEMS_H #include "fix.h" namespace LAMMPS_NS { class FixPOEMS : public Fix { public: FixPOEMS(class LAMMPS *, int narg, char **arg); ~FixPOEMS(); int setmask(); void init(); void setup(int); void initial_integrate(int); void post_force(int); void final_integrate(); void initial_integrate_respa(int, int, int); void post_force_respa(int, int, int); void final_integrate_respa(int, int); void grow_arrays(int); void copy_arrays(int, int, int); int pack_exchange(int, double *); int unpack_exchange(int, double *); double memory_usage(); void pre_neighbor(); int dof(int); void deform(int); void reset_dt(); private: int me; double dtv,dtf,dthalf; double *step_respa; int nlevels_respa; double total_ke; // atom assignment to rigid bodies // double count joint atoms as being in multiple bodies int *natom2body; // # of bodies each atom is part of int **atom2body; // list of bodies each atom is part of double **displace; // atom displace in body coords for 1st body it's in // rigid body properties // only nrigid double counts joint atoms as being in multiple bodies // other quantities only count a joint atom as being in 1st body int nbody; // # of rigid bodies int *nrigid; // # of atoms in each rigid body double *masstotal; // total mass of each rigid body double **xcm; // coords of center-of-mass of each rigid body double **vcm; // velocity of center-of-mass of each double **fcm; // force on center-of-mass of each double **inertia; // 6 inertia components of each (xx,yy,zz,xy,yz,xz) double **ex_space,**ey_space,**ez_space; // orientation of each body in space coords double **angmom; // angular momentum of each in space coords double **omega; // angular velocity of each in space coords double **torque; // torque on each rigid body in space coords double **sum,**all; // work vectors // joint attributes between pairs of rigid bodies int ncluster; // # of independent clusters of coupled bodies int njoint; // # of interbody joints int **jointbody; // indices of 2 rigid bodies in each joint (1-N) double **xjoint; // coords of each joint point int nfree; // # of isolated unconnected bodies int *freelist; // indices of isolated bodies (1-N) // POEMS object class Workspace *poems; // internal class functions void readfile(char *); int readline(FILE *, char **, int *); void jointbuild(); void sortlist(int, tagint **); int loopcheck(int, int, tagint **); int jacobi(double **, double *, double **); void rotate(double **, int, int, int, int, double, double); void omega_from_mq(double *, double *, double *, double *, double *, double *); void set_v(); void set_xv(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Could not find fix poems group ID A group ID used in the fix poems command does not exist. E: Must use a molecular atom style with fix poems molecule Self-explanatory. E: Too many molecules for fix poems The limit is 2^31 = ~2 billion molecules. E: No rigid bodies defined The fix specification did not end up defining any rigid bodies. E: Atom in too many rigid bodies - boost MAXBODY Fix poems has a parameter MAXBODY (in fix_poems.cpp) which determines the maximum number of rigid bodies a single atom can belong to (i.e. a multibody joint). The bodies you have defined exceed this limit. E: One or zero atoms in rigid body Any rigid body defined by the fix rigid command must contain 2 or more atoms. W: More than one fix poems It is not efficient to use fix poems more than once. E: POEMS fix must come before NPT/NPH fix NPT/NPH fix must be defined in input script after all poems fixes, else the fix contribution to the pressure virial is incorrect. E: Insufficient Jacobi rotations for POEMS body Eigensolve for rigid body was not sufficiently accurate. E: Rigid body has degenerate moment of inertia Fix poems will only work with bodies (collections of atoms) that have non-zero principal moments of inertia. This means they must be 3 or more non-collinear atoms, even with joint atoms removed. E: Bad principal moments Fix rigid did not compute the principal moments of inertia of a rigid group of atoms correctly. E: Cannot open fix poems file %s The specified file cannot be opened. Check that the path and name are correct. W: No joints between rigid bodies, use fix rigid instead The bodies defined by fix poems are not connected by joints. POEMS will integrate the body motion, but it would be more efficient to use fix rigid. E: Cyclic loop in joint connections Fix poems cannot (yet) work with coupled bodies whose joints connect the bodies in a ring (or cycle). E: Tree structure in joint connections Fix poems cannot (yet) work with coupled bodies whose joints connect the bodies in a tree structure. */ diff --git a/src/QEQ/fix_qeq.h b/src/QEQ/fix_qeq.h index 68176fd66..9128d8e16 100644 --- a/src/QEQ/fix_qeq.h +++ b/src/QEQ/fix_qeq.h @@ -1,129 +1,129 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_FIX_QEQ_H #define LMP_FIX_QEQ_H #include "fix.h" #define EV_TO_KCAL_PER_MOL 14.4 #define DANGER_ZONE 0.90 #define MIN_CAP 50 #define SAFE_ZONE 1.2 #define MIN_NBRS 100 namespace LAMMPS_NS { class FixQEq : public Fix { public: FixQEq(class LAMMPS *, int, char **); ~FixQEq(); int setmask(); void init_list(int,class NeighList *); void setup_pre_force(int); void setup_pre_force_respa(int, int); void pre_force_respa(int, int, int); void min_setup_pre_force(int); void min_pre_force(int); // derived child classes must provide these functions virtual void init() = 0; virtual void pre_force(int) = 0; virtual int pack_forward_comm(int, int *, double *, int, int *); virtual void unpack_forward_comm(int, int, double *); virtual int pack_reverse_comm(int, int, double *); virtual void unpack_reverse_comm(int, int *, double *); void grow_arrays(int); void copy_arrays(int, int, int); int pack_exchange(int, double *); int unpack_exchange(int, double *); double memory_usage(); protected: int nevery; int n, N, m_fill; int n_cap, nmax, m_cap; int pack_flag; int nlevels_respa; class NeighList *list; int matvecs; double qeq_time; double swa, swb; // lower/upper Taper cutoff radius double Tap[8]; // Taper function double tolerance; // tolerance for the norm of the rel residual in CG int maxiter; // maximum number of QEq iterations double cutoff, cutoff_sq; // neighbor cutoff double *chi,*eta,*gamma,*zeta,*zcore; // qeq parameters double *chizj; double **shld; bigint ngroup; // fictitious charges double *s, *t; double **s_hist, **t_hist; int nprev; typedef struct{ int n, m; int *firstnbr; int *numnbrs; int *jlist; double *val; } sparse_matrix; sparse_matrix H; double *Hdia_inv; double *b_s, *b_t; double *b_prc, *b_prm; double *p, *q, *r, *d; // streitz-mintmire double alpha; // damped dynamics double *qf, *q1, *q2, qdamp, qstep; void calculate_Q(); double parallel_norm(double*, int); double parallel_dot(double*, double*, int); double parallel_vector_acc(double*, int); void vector_sum(double *, double, double *, double, double *,int); void vector_add(double *, double, double *, int); void init_storage(); void read_file(char*); void allocate_storage(); void deallocate_storage(); void reallocate_storage(); void allocate_matrix(); void deallocate_matrix(); void reallocate_matrix(); virtual int CG(double *, double *); virtual void sparse_matvec(sparse_matrix *, double *,double *); }; } #endif diff --git a/src/QEQ/fix_qeq_dynamic.h b/src/QEQ/fix_qeq_dynamic.h index 12481722d..c36df1b6b 100644 --- a/src/QEQ/fix_qeq_dynamic.h +++ b/src/QEQ/fix_qeq_dynamic.h @@ -1,46 +1,46 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(qeq/dynamic,FixQEqDynamic) #else #ifndef LMP_FIX_QEQ_DYNAMIC_H #define LMP_FIX_QEQ_DYNAMIC_H #include "fix_qeq.h" namespace LAMMPS_NS { class FixQEqDynamic : public FixQEq { public: FixQEqDynamic(class LAMMPS *, int, char **); ~FixQEqDynamic() {} void init(); void pre_force(int); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); private: double compute_eneg(); }; } #endif #endif diff --git a/src/QEQ/fix_qeq_point.h b/src/QEQ/fix_qeq_point.h index c73baf904..e76b3dc32 100644 --- a/src/QEQ/fix_qeq_point.h +++ b/src/QEQ/fix_qeq_point.h @@ -1,41 +1,41 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(qeq/point,FixQEqPoint) #else #ifndef LMP_FIX_QEQ_POINT_H #define LMP_FIX_QEQ_POINT_H #include "fix_qeq.h" namespace LAMMPS_NS { class FixQEqPoint : public FixQEq { public: FixQEqPoint(class LAMMPS *, int, char **); ~FixQEqPoint() {} void init(); void pre_force(int); private: void init_matvec(); void compute_H(); }; } #endif #endif diff --git a/src/QEQ/fix_qeq_shielded.h b/src/QEQ/fix_qeq_shielded.h index 3c882bde0..8fbd8af6c 100644 --- a/src/QEQ/fix_qeq_shielded.h +++ b/src/QEQ/fix_qeq_shielded.h @@ -1,43 +1,43 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(qeq/shielded,FixQEqShielded) #else #ifndef LMP_FIX_QEQ_SHIELDED_H #define LMP_FIX_QEQ_SHIELDED_H #include "fix_qeq.h" namespace LAMMPS_NS { class FixQEqShielded : public FixQEq { public: FixQEqShielded(class LAMMPS *, int, char **); ~FixQEqShielded() {} void init(); void pre_force(int); private: void init_shielding(); void init_matvec(); void compute_H(); double calculate_H(double,double); }; } #endif #endif diff --git a/src/QEQ/fix_qeq_slater.h b/src/QEQ/fix_qeq_slater.h index 167334093..bd16c53c8 100644 --- a/src/QEQ/fix_qeq_slater.h +++ b/src/QEQ/fix_qeq_slater.h @@ -1,44 +1,44 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(qeq/slater,FixQEqSlater) #else #ifndef LMP_FIX_QEQ_SLATER_H #define LMP_FIX_QEQ_SLATER_H #include "fix_qeq.h" namespace LAMMPS_NS { class FixQEqSlater : public FixQEq { public: FixQEqSlater(class LAMMPS *, int, char **); ~FixQEqSlater() {} void init(); void pre_force(int); private: void init_matvec(); int CG(double*,double*); void sparse_matvec(sparse_matrix*,double*,double*); void compute_H(); double calculate_H(double, double, double, double, double &); double calculate_H_wolf(double, double, double, double, double &); }; } #endif #endif diff --git a/src/REAX/fix_reax_bonds.h b/src/REAX/fix_reax_bonds.h index 3206f8b9f..9bb1743f9 100644 --- a/src/REAX/fix_reax_bonds.h +++ b/src/REAX/fix_reax_bonds.h @@ -1,73 +1,73 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(reax/bonds,FixReaxBonds) #else #ifndef LMP_FIX_REAX_BONDS_H #define LMP_FIX_REAX_BONDS_H #include "stdio.h" #include "fix.h" namespace LAMMPS_NS { class FixReaxBonds : public Fix { public: FixReaxBonds(class LAMMPS *, int, char **); ~FixReaxBonds(); int setmask(); void init(); void setup(int); void end_of_step(); private: int me; int nfreq; FILE *fp; void OutputReaxBonds(bigint, FILE*); int nint(const double&); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot open fix reax/bonds file %s The output file for the fix reax/bonds command cannot be opened. Check that the path and name are correct. E: Cannot use fix reax/bonds without pair_style reax Self-explantory. E: Fix reax/bonds numbonds > nsbmax_most The limit of the number of bonds expected by the ReaxFF force field was exceeded. */ diff --git a/src/REAX/pair_reax.h b/src/REAX/pair_reax.h index 347292e2b..8e6eedcbc 100644 --- a/src/REAX/pair_reax.h +++ b/src/REAX/pair_reax.h @@ -1,142 +1,142 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(reax,PairREAX) #else #ifndef LMP_PAIR_REAX_H #define LMP_PAIR_REAX_H #include "pair.h" namespace LAMMPS_NS { class PairREAX : public Pair { public: PairREAX(class LAMMPS *); ~PairREAX(); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); double memory_usage(); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); private: double cutmax; double rcutvsq,rcutbsq; int iprune,ihb,ihbnew,itripstaball; double hbcut,swb; double swa; double swc0, swc1, swc2, swc3, swc4, swc5, swc6, swc7; double precision; int packflag; struct ff_params { double rcutsq; int np; double *params; }; ff_params *param_list; int *map; int nentries; double chpot; int *arow_ptr,*acol_ind; double *ch,*elcvec; double *rcg,*wcg,*pcg,*poldcg,*qcg; double *aval; int nmax,matmax; void allocate(); void read_files(char *, char *); void neigh_f2c(int, int *, int *, int **); void neigh_c2f(int, int *, int *, int **); void write_reax_positions(); void write_reax_vlist(); void read_reax_forces(); void read_reax_atom_virial(); void taper_setup(); double taper_E(const double &, const double &); double taper_F(const double &, const double &); void compute_charge(double &); void sparse_product(const int &, const int &, const int &, double[], int[], int[], double[], double[]); void cg_solve(const int &, const int &, double[], int[], int[], double[], double[]); void charge_reax(const int &, const int &, double[], double[], int[], int[], double[]); }; } #endif #endif /* ERROR/WARNING messages: E: Reax_defs.h setting for NATDEF is too small Edit the setting in the ReaxFF library and re-compile the library and re-build LAMMPS. E: Reax_defs.h setting for NNEIGHMAXDEF is too small Edit the setting in the ReaxFF library and re-compile the library and re-build LAMMPS. E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Cannot currently use pair reax with pair hybrid This is not yet supported. E: Pair style reax requires atom IDs This is a requirement to use the ReaxFF potential. E: Pair style reax requires newton pair on This is a requirement to use the ReaxFF potential. W: Not using real units with pair reax This is most likely an error, unless you have created your own ReaxFF parameter file in a different set of units. E: Invalid REAX atom type There is a mis-match between LAMMPS atom types and the elements listed in the ReaxFF force field file. */ diff --git a/src/REAX/pair_reax_fortran.h b/src/REAX/pair_reax_fortran.h index 50246b7ee..5268fdcdf 100644 --- a/src/REAX/pair_reax_fortran.h +++ b/src/REAX/pair_reax_fortran.h @@ -1,210 +1,210 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ // machine-specific C++ -> Fortran calling syntax // It defines the FORTRAN macro for converting variable and function // names from FORTRAN to C. Different compilers do this in different // ways. The default is add an underscore to the lower case string. // Other definitions of the macro can be invoked by defining the // corresponding macro at compile time using -D e.g. -D_IBM // CONS(a,b) should return ab, the concatenation of its arguments. // If compiler is using strict ISO C standards, the ## works. // Otherwise try the old /**/ trick and test. // If that fails, you will need to figure out // a definition for the FORTRAN macro that works on your machine. #if __STDC__ #define CONS(a,b) a##b #elif defined(_IBM) #define CONS(a,b) a##b #else #define CONS(a,b) a/**/b #warning "The following declaration is a test of the CONS macro" #warning "If it fails, pair_reax_fortran.h must be modified by hand" static int my_apples_my_oranges = 1; static int my_applesoroanges = CONS(my_apples,_my_oranges); #endif #ifdef _IBM #define FORTRAN(lcname,ucname) lcname #endif #ifdef _F2C_LINUX #define FORTRAN(lcname,ucname) CONS(lcname,__) #endif #ifndef FORTRAN #define FORTRAN(lcname,ucname) CONS(lcname,_) #endif // hard-wired array sizes set in Fortran library // accesses include file from Fortran library #include "reax_defs.h" class ReaxParams { public: enum {nneighmax=NNEIGHMAXDEF, nat=NATDEF, nattot=NATTOTDEF, nsort=NSORTDEF, mbond=MBONDDEF, nbomax=NBOMAXDEF, }; }; // data structures corresponding to values in Fortran library extern "C" struct { double abo[ReaxParams::nat]; } FORTRAN(cbkabo,CBKABO); extern "C" struct { double bo[ReaxParams::nbomax]; } FORTRAN(cbkbo,CBKBO); extern "C" struct { double c[3*ReaxParams::nat]; double cglobal[3*ReaxParams::nattot]; int itag[ReaxParams::nat]; } FORTRAN(cbkc,CBKC); extern "C" struct { double ch[ReaxParams::nat]; } FORTRAN(cbkch,CBKCH); extern "C" struct { double chi[ReaxParams::nsort]; double eta[ReaxParams::nsort]; double gam[ReaxParams::nsort]; } FORTRAN(cbkchb,CBKCHB); extern "C" struct { double d[3*ReaxParams::nat]; double estrain[ReaxParams::nat]; } FORTRAN(cbkd,CBKD); extern "C" struct { double atomvirial[6*ReaxParams::nat]; double virial[6]; int Lvirial; int Latomvirial; } FORTRAN(cbkvirial,CBKVIRIAL); extern "C" struct { int ia[ReaxParams::nat*(ReaxParams::mbond+3)]; int iag[ReaxParams::nat*(ReaxParams::mbond+3)]; } FORTRAN(cbkia,CBKIA); extern "C" struct { double vlp[ReaxParams::nat]; double dvlpdsbo[ReaxParams::nat]; } FORTRAN(cbklonpar,CBKLONPAR); extern "C" struct { int nubon1[ReaxParams::nat*(ReaxParams::mbond)]; int nubon2[ReaxParams::nat*(ReaxParams::mbond)]; } FORTRAN(cbknubon2,CBKNUBON2); extern "C" struct { int nvl1[ReaxParams::nneighmax * ReaxParams::nat]; int nvl2[ReaxParams::nneighmax * ReaxParams::nat]; int nvpair; int nvlself; } FORTRAN(cbkpairs,CBKPAIRS); extern "C" struct { int nvlbo[ReaxParams::nneighmax * ReaxParams::nat]; } FORTRAN(cbknvlbo,CBKNVLBO); extern "C" struct { int nvlown[ReaxParams::nneighmax * ReaxParams::nat]; } FORTRAN(cbknvlown,CBKNVLOWN); extern "C" struct { char qa[20*ReaxParams::nattot+10]; } FORTRAN(cbkqa,CBKQA); extern "C" struct { double eb; double eoop; double epen; double estrc; double deda[3]; double pressu; double efi; double elp; double emol; double ea; double eres; double et; double eradbo; double ev; double eco; double ecoa; double ehb; double sw; double ew; double ep; double ekin; } FORTRAN(cbkenergies,CBKENERGIES); extern "C" struct { double tset; double dseed; double tempmd; double ts2; double ts22; int nmolo; int nmolo5; int nbon; int na; int namov; int na_local; } FORTRAN(rsmall,RSMALL); // external routines provided by Fortran library extern "C" void FORTRAN(readc,READC)(); extern "C" void FORTRAN(reaxinit,REAXINIT)(); extern "C" void FORTRAN(ffinpt,FFINPT)(); extern "C" void FORTRAN(tap7th,TAP7TH)(); extern "C" void FORTRAN(taper,TAPER)(double*,double*); extern "C" void FORTRAN(readgeo,READGEO)(); extern "C" void FORTRAN(srtatom,SRTATOM)(); extern "C" void FORTRAN(vlist,VLIST) (); extern "C" void FORTRAN(srtbon1,SRTBON1)(int*,int*,double*,int*,int*); extern "C" void FORTRAN(molec,MOLEC)(); extern "C" void FORTRAN(encalc,ENCALC)(); extern "C" void FORTRAN(getswb,GETSWB)(double*); extern "C" void FORTRAN(getswa,GETSWA)(double*); extern "C" void FORTRAN(getvrange,GET_VRANGE)(double*); extern "C" void FORTRAN(getnvlist,GET_NVLIST)(int*); extern "C" void FORTRAN(getvlbora,GETVLBORA)(double*); extern "C" void FORTRAN(cgsolve,CGSOLVE) (int*,double*,int*,double*,double*,int*); extern "C" void FORTRAN(getnval,GETNVAL)(int*); extern "C" void FORTRAN(getntor,GETNTOR)(int*); extern "C" void FORTRAN(getnhb,GETNHB)(int*); extern "C" void FORTRAN(getnbonall,GETNBONALL)(int*); extern "C" void FORTRAN(getnneighmax,GETNNEIGHMAX)(int*); extern "C" void FORTRAN(getnat,GETNAT)(int*); extern "C" void FORTRAN(getnattot,GETNATTOT)(int*); extern "C" void FORTRAN(getnsort,GETNSORT)(int*); extern "C" void FORTRAN(getmbond,GETMBOND)(int*); extern "C" void FORTRAN(getnso,GETNSO)(int*); extern "C" void FORTRAN(setngeofor,SETNGEOFOR)(int*); extern "C" void FORTRAN(mdsav,MDSAV)(int*); extern "C" void FORTRAN(getnsbmax,GETNSBMAX)(int*); extern "C" void FORTRAN(getnsbma2,GETNSBMA2)(int*); extern "C" void FORTRAN(getcutof3,GETCUTOF3)(double*); diff --git a/src/REPLICA/compute_event_displace.h b/src/REPLICA/compute_event_displace.h index 3d3fb23c4..c545c696a 100644 --- a/src/REPLICA/compute_event_displace.h +++ b/src/REPLICA/compute_event_displace.h @@ -1,68 +1,68 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(event/displace,ComputeEventDisplace) #else #ifndef LMP_COMPUTE_EVENT_DISPLACE_H #define LMP_COMPUTE_EVENT_DISPLACE_H #include "compute.h" namespace LAMMPS_NS { class ComputeEventDisplace : public Compute { public: ComputeEventDisplace(class LAMMPS *, int, char **); ~ComputeEventDisplace(); void init(); double compute_scalar(); void reset_extra_compute_fix(const char *); private: int triclinic; double displace_distsq; char *id_event; class FixEvent *fix_event; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Distance must be > 0 for compute event/displace Self-explanatory. E: Could not find compute event/displace fix ID Self-explanatory. E: Compute event/displace has invalid fix event assigned This is an internal LAMMPS error. Please report it to the developers. */ diff --git a/src/REPLICA/fix_event.h b/src/REPLICA/fix_event.h index b60709806..a8f6f93d5 100644 --- a/src/REPLICA/fix_event.h +++ b/src/REPLICA/fix_event.h @@ -1,66 +1,66 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_FIX_EVENT_H #define LMP_FIX_EVENT_H #include "fix.h" namespace LAMMPS_NS { class FixEvent : public Fix { public: FixEvent(class LAMMPS *, int, char **); virtual ~FixEvent()=0; // use destructor to make base class virtual int setmask(); double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); int pack_exchange(int, double *); int unpack_exchange(int, double *); virtual void write_restart(FILE *) {} virtual void restart(char *) {} // methods specific to FixEvent void store_event(); // store quenched atoms void restore_event(); // restore quenched atoms void store_state_quench(); // store hot atoms prior to quench void restore_state_quench(); // restore hot atoms after quench void store_state_dephase(); // store atoms before dephase iteration void restore_state_dephase(); // restore atoms if dephase had event private: double **xevent; // atom coords at last event double **xold; // atom coords for reset/restore double **vold; // atom vels for reset/restore imageint *imageold; // image flags for reset/restore double **xorig; // original atom coords for reset/restore double **vorig; // original atom vels for reset/restore imageint *imageorig; // original image flags for reset/restore }; } #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/REPLICA/fix_event_prd.h b/src/REPLICA/fix_event_prd.h index d4442925d..0924fb2bd 100644 --- a/src/REPLICA/fix_event_prd.h +++ b/src/REPLICA/fix_event_prd.h @@ -1,63 +1,63 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(EVENT/PRD,FixEventPRD) #else #ifndef LMP_FIX_EVENT_PRD_H #define LMP_FIX_EVENT_PRD_H #include "fix_event.h" namespace LAMMPS_NS { class FixEventPRD : public FixEvent { public: int event_number; // event counter bigint event_timestep; // timestep of last event on any replica bigint clock; // total elapsed timesteps across all replicas int replica_number; // replica where last event occured int correlated_event; // 1 if last event was correlated, 0 otherwise int ncoincident; // # of simultaneous events on different replicas FixEventPRD(class LAMMPS *, int, char **); ~FixEventPRD() {} void write_restart(FILE *); void restart(char *); // methods specific to FixEventPRD, invoked by PRD void store_event_prd(bigint, int); private: }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/REPLICA/fix_event_tad.h b/src/REPLICA/fix_event_tad.h index 91e2045ec..dcc8a67fe 100644 --- a/src/REPLICA/fix_event_tad.h +++ b/src/REPLICA/fix_event_tad.h @@ -1,61 +1,61 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(EVENT/TAD,FixEventTAD) #else #ifndef LMP_FIX_EVENT_TAD_H #define LMP_FIX_EVENT_TAD_H #include "fix_event.h" namespace LAMMPS_NS { class FixEventTAD : public FixEvent { public: int event_number; // event counter bigint event_timestep; // timestep of last event double tlo; // event time at low temperature double ebarrier; // energy barrier for this event FixEventTAD(class LAMMPS *, int, char **); ~FixEventTAD() {} void write_restart(FILE *); void restart(char *); // methods specific to FixEventTAD, invoked by TAD void store_event_tad(bigint); private: }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/REPLICA/fix_neb.h b/src/REPLICA/fix_neb.h index b4e72a5a9..39bb5dc81 100644 --- a/src/REPLICA/fix_neb.h +++ b/src/REPLICA/fix_neb.h @@ -1,75 +1,75 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(neb,FixNEB) #else #ifndef LMP_FIX_NEB_H #define LMP_FIX_NEB_H #include "fix.h" namespace LAMMPS_NS { class FixNEB : public Fix { public: double veng,plen,nlen; int rclimber; double gradvnorm; FixNEB(class LAMMPS *, int, char **); ~FixNEB(); int setmask(); void init(); void min_setup(int); void min_post_force(int); private: double kspring; int ireplica,nreplica; int procnext,procprev; MPI_Comm uworld; char *id_pe; class Compute *pe; int nebatoms; double **xprev,**xnext; double **tangent; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Potential energy ID for fix neb does not exist Self-explanatory. E: Atom count changed in fix neb This is not allowed in a NEB calculation. */ diff --git a/src/REPLICA/neb.h b/src/REPLICA/neb.h index a912cc2e5..08ab5c989 100644 --- a/src/REPLICA/neb.h +++ b/src/REPLICA/neb.h @@ -1,134 +1,134 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMMAND_CLASS CommandStyle(neb,NEB) #else #ifndef LMP_NEB_H #define LMP_NEB_H #include "stdio.h" #include "pointers.h" namespace LAMMPS_NS { class NEB : protected Pointers { public: NEB(class LAMMPS *); NEB(class LAMMPS *, double, double, int, int, int, double *, double *); ~NEB(); void command(int, char **); // process neb command void run(); // run NEB double ebf,ebr; // forward and reverse energy barriers private: int me,me_universe; // my proc ID in world and universe int ireplica,nreplica; MPI_Comm uworld; MPI_Comm roots; // MPI comm with 1 root proc from each world FILE *fp; int compressed; double etol; // energy tolerance convergence criterion double ftol; // force tolerance convergence criterion int n1steps, n2steps; // number of steps in stage 1 and 2 int nevery; // output interval char *infile; // name of file containing final state class FixNEB *fneb; int nall; // per-replica dimension of array all double **all; // PE,plen,nlen,gradvnorm from each replica double *rdist; // normalize reaction distance, 0 to 1 void readfile(char *, int); void open(char *); void print_status(); }; } #endif #endif /* ERROR/WARNING messages: E: NEB command before simulation box is defined Self-explanatory. E: Illegal ... command 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: Cannot use NEB with a single replica Self-explanatory. E: Can only use NEB with 1-processor replicas This is current restriction for NEB as implemented in LAMMPS. E: Cannot use NEB with atom_modify sort enabled This is current restriction for NEB implemented in LAMMPS. E: Cannot use NEB unless atom map exists Use the atom_modify command to create an atom map. E: NEB requires use of fix neb Self-explanatory. E: NEB requires damped dynamics minimizer Use a different minimization style. E: Too many timesteps for NEB You must use a number of timesteps that fit in a 32-bit integer for NEB. E: Too many timesteps The cummulative timesteps must fit in a 64-bit integer. E: Unexpected end of neb file A read operation from the file failed. E: Incorrect atom format in neb file The number of fields per line is not what expected. E: Invalid atom IDs in neb file An ID in the file was not found in the system. E: Cannot open gzipped file LAMMPS was compiled without support for reading and writing gzipped files through a pipeline to the gzip program with -DLAMMPS_GZIP. E: Cannot open file %s The specified file cannot be opened. Check that the path and name are correct. If the file is a compressed file, also check that the gzip executable can be found and run. */ diff --git a/src/REPLICA/prd.h b/src/REPLICA/prd.h index d7a58166e..f74facd5d 100644 --- a/src/REPLICA/prd.h +++ b/src/REPLICA/prd.h @@ -1,148 +1,148 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMMAND_CLASS CommandStyle(prd,PRD) #else #ifndef LMP_PRD_H #define LMP_PRD_H #include "pointers.h" namespace LAMMPS_NS { class PRD : protected Pointers { public: PRD(class LAMMPS *); ~PRD() {} void command(int, char **); private: int me,nprocs; int t_event,n_dephase,t_dephase,t_corr; double etol,ftol,temp_dephase; int maxiter,maxeval,temp_flag,stepmode; char *loop_setting,*dist_setting; int equal_size_replicas,natoms; int neigh_every,neigh_delay,neigh_dist_check; int quench_reneighbor; bigint nbuild,ndanger; double time_dephase,time_dynamics,time_quench,time_comm,time_output; double time_start; MPI_Comm comm_replica; tagint *tagall; int *displacements,*imageall; double **xall; int ncoincident; class RanPark *random_select,*random_clock; class RanMars *random_dephase; class Compute *compute_event; class FixEventPRD *fix_event; class Velocity *velocity; class Compute *temperature; class Finish *finish; void dephase(); void dynamics(int, double &); void quench(); int check_event(int replica = -1); void share_event(int, int, int); void log_event(); void replicate(int); void options(int, char **); }; } #endif #endif /* ERROR/WARNING messages: E: PRD command before simulation box is defined The prd command cannot be used before a read_data, read_restart, or create_box command. E: Cannot use PRD with multi-processor replicas unless atom map exists Use the atom_modify command to create an atom map. W: Running PRD with only one replica This is allowed, but you will get no parallel speed-up. E: Illegal ... command 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: Invalid t_event in prd command Self-explanatory. E: PRD nsteps must be multiple of t_event Self-explanatory. E: PRD t_corr must be multiple of t_event Self-explanatory. E: Could not find compute ID for PRD Self-explanatory. W: Resetting reneighboring criteria during PRD A PRD simulation requires that neigh_modify settings be delay = 0, every = 1, check = yes. Since these settings were not in place, LAMMPS changed them and will restore them to their original values after the PRD simulation. E: Too many timesteps The cummulative timesteps must fit in a 64-bit integer. E: Cannot use PRD with a changing box The current box dimensions are not copied between replicas E: Cannot use PRD with a time-dependent fix defined PRD alters the timestep in ways that will mess up these fixes. E: Cannot use PRD with a time-dependent region defined PRD alters the timestep in ways that will mess up these regions. E: Cannot use PRD with atom_modify sort enabled This is a current restriction of PRD. You must turn off sorting, which is enabled by default, via the atom_modify command. E: Too many iterations You must use a number of iterations that fit in a 32-bit integer for minimization. */ diff --git a/src/REPLICA/tad.h b/src/REPLICA/tad.h index b9926ac86..8b8b22552 100644 --- a/src/REPLICA/tad.h +++ b/src/REPLICA/tad.h @@ -1,155 +1,155 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMMAND_CLASS CommandStyle(tad,TAD) #else #ifndef LMP_TAD_H #define LMP_TAD_H #include "pointers.h" namespace LAMMPS_NS { class TAD : protected Pointers { public: TAD(class LAMMPS *); ~TAD(); void command(int, char **); private: int me,nprocs; int nsteps,t_event; double templo,temphi,delta_conf,tmax; double etol,ftol,etol_neb,ftol_neb,dt_neb; int maxiter,maxeval,n1steps_neb,n2steps_neb,nevery_neb; char *min_style, *min_style_neb; double delta_beta,ratio_beta; double deltconf,deltstop,deltfirst; // Times since last event int event_first; int neigh_every,neigh_delay,neigh_dist_check; int quench_reneighbor; bigint nbuild,ndanger; double time_dynamics,time_quench,time_neb,time_comm,time_output; double time_start; class NEB *neb; // NEB object class Fix *fix_neb; // FixNEB object class Compute *compute_event; // compute to detect event class FixEventTAD *fix_event; // current event/state class FixStore *fix_revert; // revert state FixEventTAD **fix_event_list; // list of possible events int n_event_list; // number of events int nmax_event_list; // allocated events int nmin_event_list; // minimum allocation char *neb_logfilename; // filename for ulogfile_neb FILE *uscreen_neb; // neb universe screen output FILE *ulogfile_neb; // neb universe logfile FILE *uscreen_lammps; // lammps universe screen output FILE *ulogfile_lammps; // lammps universe logfile class Finish *finish; void dynamics(); void quench(); int check_event(); int check_confidence(); void perform_neb(int); void log_event(int); void options(int, char **); void store_state(); void revert_state(); void add_event(); void perform_event(int); void compute_tlo(int); void grow_event_list(int); void initialize_event_list(); void delete_event_list(); }; } #endif #endif /* ERROR/WARNING messages: E: Tad command before simulation box is defined Self-explanatory. E: Cannot use TAD with a single replica for NEB NEB requires multiple replicas. E: Can only use TAD with 1-processor replicas for NEB This is current restriction for NEB as implemented in LAMMPS. E: Cannot use TAD with atom_modify sort enabled for NEB This is a current restriction of NEB. E: Cannot use TAD unless atom map exists for NEB See atom_modify map command to set this. E: Illegal ... command 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: Invalid t_event in tad command The value must be greater than 0. E: TAD nsteps must be multiple of t_event Self-explanatory. E: Invalid delta_conf in tad command The value must be between 0 and 1 inclusive. E: Invalid tmax in tad command The value must be greater than 0.0. E: Could not find compute ID for TAD Self-explanatory. W: Resetting reneighboring criteria during TAD A TAD simulation requires that neigh_modify settings be delay = 0, every = 1, check = yes. Since these settings were not in place, LAMMPS changed them and will restore them to their original values after the PRD simulation. E: Too many timesteps The cummulative timesteps must fit in a 64-bit integer. E: Too many iterations You must use a number of iterations that fit in a 32-bit integer for minimization. */ diff --git a/src/REPLICA/temper.h b/src/REPLICA/temper.h index bde985d34..832e36e49 100644 --- a/src/REPLICA/temper.h +++ b/src/REPLICA/temper.h @@ -1,106 +1,106 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMMAND_CLASS CommandStyle(temper,Temper) #else #ifndef LMP_TEMPER_H #define LMP_TEMPER_H #include "pointers.h" namespace LAMMPS_NS { class Temper : protected Pointers { public: Temper(class LAMMPS *); ~Temper(); void command(int, char **); private: int me,me_universe; // my proc ID in world and universe int iworld,nworlds; // world info double boltz; // copy from output->boltz MPI_Comm roots; // MPI comm with 1 root proc from each world class RanPark *ranswap,*ranboltz; // RNGs for swapping and Boltz factor int nevery; // # of timesteps between swaps int nswaps; // # of tempering swaps to perform int seed_swap; // 0 = toggle swaps, n = RNG for swap direction int seed_boltz; // seed for Boltz factor comparison int whichfix; // index of temperature fix to use int fixstyle; // what kind of temperature fix is used int my_set_temp; // which set temp I am simulating double *set_temp; // static list of replica set temperatures int *temp2world; // temp2world[i] = world simulating set temp i int *world2temp; // world2temp[i] = temp simulated by world i int *world2root; // world2root[i] = root proc of world i void scale_velocities(int, int); void print_status(); }; } #endif #endif /* ERROR/WARNING messages: E: Must have more than one processor partition to temper Cannot use the temper command with only one processor partition. Use the -partition command-line option. E: Temper command before simulation box is defined The temper command cannot be used before a read_data, read_restart, or create_box command. E: Illegal ... command 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: Tempering fix ID is not defined The fix ID specified by the temper command does not exist. E: Invalid frequency in temper command Nevery must be > 0. E: Non integer # of swaps in temper command Swap frequency in temper command must evenly divide the total # of timesteps. E: Tempering temperature fix is not valid The fix specified by the temper command is not one that controls temperature (nvt or langevin). E: Too many timesteps The cummulative timesteps must fit in a 64-bit integer. E: Tempering could not find thermo_pe compute This compute is created by the thermo command. It must have been explicitly deleted by a uncompute command. */ diff --git a/src/REPLICA/verlet_split.h b/src/REPLICA/verlet_split.h index 586d52f59..1792247a0 100644 --- a/src/REPLICA/verlet_split.h +++ b/src/REPLICA/verlet_split.h @@ -1,82 +1,82 @@ -/* ------------------------------------------------------------------------- +/* -*- c++ -*- ------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef INTEGRATE_CLASS IntegrateStyle(verlet/split,VerletSplit) #else #ifndef LMP_VERLET_SPLIT_H #define LMP_VERLET_SPLIT_H #include "verlet.h" namespace LAMMPS_NS { class VerletSplit : public Verlet { public: VerletSplit(class LAMMPS *, int, char **); ~VerletSplit(); void init(); void setup(); void setup_minimal(int); void run(int); bigint memory_usage(); private: int master; // 1 if an Rspace proc, 0 if Kspace int me_block; // proc ID within Rspace/Kspace block int ratio; // ratio of Rspace procs to Kspace procs int *qsize,*qdisp,*xsize,*xdisp; // MPI gather/scatter params for block comm MPI_Comm block; // communicator within one block int tip4p_flag; // 1 if PPPM/tip4p so do extra comm double **f_kspace; // copy of Kspace forces on Rspace procs int maxatom; void rk_setup(); void r2k_comm(); void k2r_comm(); }; } #endif #endif /* ERROR/WARNING messages: E: Verlet/split requires 2 partitions See the -partition command-line switch. E: Verlet/split requires Rspace partition size be multiple of Kspace partition size This is so there is an equal number of Rspace processors for every Kspace processor. E: Verlet/split requires Rspace partition layout be multiple of Kspace partition layout in each dim This is controlled by the processors command. W: No Kspace calculation with verlet/split The 2nd partition performs a kspace calculation so the kspace_style command must be used. E: Verlet/split does not yet support TIP4P This is a current limitation. */ diff --git a/src/RIGID/compute_erotate_rigid.h b/src/RIGID/compute_erotate_rigid.h index 7831c4c52..a08e8d51a 100644 --- a/src/RIGID/compute_erotate_rigid.h +++ b/src/RIGID/compute_erotate_rigid.h @@ -1,60 +1,60 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(erotate/rigid,ComputeERotateRigid) #else #ifndef LMP_COMPUTE_EROTATE_RIGID_H #define LMP_COMPUTE_EROTATE_RIGID_H #include "compute.h" namespace LAMMPS_NS { class ComputeERotateRigid : public Compute { public: ComputeERotateRigid(class LAMMPS *, int, char **); ~ComputeERotateRigid(); void init(); double compute_scalar(); private: int irfix; char *rfix; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 ID for compute erotate/rigid does not exist Self-explanatory. E: Compute erotate/rigid with non-rigid fix-ID Self-explanatory. */ diff --git a/src/RIGID/compute_ke_rigid.h b/src/RIGID/compute_ke_rigid.h index 3f01d569c..97ceb24cf 100644 --- a/src/RIGID/compute_ke_rigid.h +++ b/src/RIGID/compute_ke_rigid.h @@ -1,60 +1,60 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(ke/rigid,ComputeKERigid) #else #ifndef LMP_COMPUTE_KE_RIGID_H #define LMP_COMPUTE_KE_RIGID_H #include "compute.h" namespace LAMMPS_NS { class ComputeKERigid : public Compute { public: ComputeKERigid(class LAMMPS *, int, char **); ~ComputeKERigid(); void init(); double compute_scalar(); private: int irfix; char *rfix; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 ID for compute ke/rigid does not exist Self-explanatory. E: Compute ke/rigid with non-rigid fix-ID Self-explanatory. */ diff --git a/src/RIGID/fix_rigid.h b/src/RIGID/fix_rigid.h index e98482504..5467afd81 100644 --- a/src/RIGID/fix_rigid.h +++ b/src/RIGID/fix_rigid.h @@ -1,261 +1,261 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(rigid,FixRigid) #else #ifndef LMP_FIX_RIGID_H #define LMP_FIX_RIGID_H #include "fix.h" namespace LAMMPS_NS { class FixRigid : public Fix { public: FixRigid(class LAMMPS *, int, char **); virtual ~FixRigid(); virtual int setmask(); virtual void init(); virtual void setup(int); virtual void initial_integrate(int); void post_force(int); virtual void final_integrate(); void initial_integrate_respa(int, int, int); void final_integrate_respa(int, int); void write_restart_file(char *); virtual double compute_scalar(); virtual int modify_param(int, char **) {return 0;} double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); void set_arrays(int); int pack_exchange(int, double *); int unpack_exchange(int, double *); void pre_neighbor(); int dof(int); void deform(int); void reset_dt(); void zero_momentum(); void zero_rotation(); virtual void *extract(const char*, int &); double extract_ke(); double extract_erotational(); double compute_array(int, int); protected: int me,nprocs; double dtv,dtf,dtq; double *step_respa; int triclinic; double MINUSPI,TWOPI; char *infile; // file to read rigid body attributes from int rstyle; // SINGLE,MOLECULE,GROUP int staticflag; // 1 if static body properties are setup, else 0 int dimension; // # of dimensions int nbody; // # of rigid bodies int *nrigid; // # of atoms in each rigid body int *mol2body; // convert mol-ID to rigid body index int *body2mol; // convert rigid body index to mol-ID int maxmol; // size of mol2body = max mol-ID int *body; // which body each atom is part of (-1 if none) double **displace; // displacement of each atom in body coords double *masstotal; // total mass of each rigid body double **xcm; // coords of center-of-mass of each rigid body double **vcm; // velocity of center-of-mass of each double **fcm; // force on center-of-mass of each double **inertia; // 3 principal components of inertia of each double **ex_space,**ey_space,**ez_space; // principal axes of each in space coords double **angmom; // angular momentum of each in space coords double **omega; // angular velocity of each in space coords double **torque; // torque on each rigid body in space coords double **quat; // quaternion of each rigid body imageint *imagebody; // image flags of xcm of each rigid body double **fflag; // flag for on/off of center-of-mass force double **tflag; // flag for on/off of center-of-mass torque double **langextra; // Langevin thermostat forces and torques double **sum,**all; // work vectors for each rigid body int **remapflag; // PBC remap flags for each rigid body int extended; // 1 if any particles have extended attributes int orientflag; // 1 if particles store spatial orientation int dorientflag; // 1 if particles store dipole orientation int *eflags; // flags for extended particles double **orient; // orientation vector of particle wrt rigid body double **dorient; // orientation of dipole mu wrt rigid body double tfactor; // scale factor on temperature of rigid bodies int langflag; // 0/1 = no/yes Langevin thermostat int tstat_flag; // NVT settings double t_start,t_stop,t_target; double t_period,t_freq; int t_chain,t_iter,t_order; int pstat_flag; // NPT settings double p_start[3],p_stop[3]; double p_period[3],p_freq[3]; int p_flag[3]; int pcouple,pstyle; int p_chain; int allremap; // remap all atoms int dilate_group_bit; // mask for dilation group char *id_dilate; // group name to dilate class RanMars *random; class AtomVecEllipsoid *avec_ellipsoid; class AtomVecLine *avec_line; class AtomVecTri *avec_tri; int POINT,SPHERE,ELLIPSOID,LINE,TRIANGLE,DIPOLE; // bitmasks for eflags int OMEGA,ANGMOM,TORQUE; void no_squish_rotate(int, double *, double *, double *, double) const; void set_xv(); void set_v(); void setup_bodies_static(); void setup_bodies_dynamic(); void readfile(int, double *, double **, int *); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 rigid molecule requires atom attribute molecule Self-explanatory. E: Too many molecules for fix rigid The limit is 2^31 = ~2 billion molecules. E: Could not find fix rigid group ID A group ID used in the fix rigid command does not exist. E: 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. E: No rigid bodies defined The fix specification did not end up defining any rigid bodies. E: Fix rigid z force cannot be on for 2d simulation Self-explanatory. E: Fix rigid xy torque cannot be on for 2d simulation Self-explanatory. E: Fix rigid langevin period must be > 0.0 Self-explanatory. E: Fix rigid npt/nph dilate group ID does not exist Self-explanatory. E: One or zero atoms in rigid body Any rigid body defined by the fix rigid command must contain 2 or more atoms. W: More than one fix rigid It is not efficient to use fix rigid more than once. E: Rigid fix must come before NPT/NPH fix NPT/NPH fix must be defined in input script after all rigid fixes, else the rigid fix contribution to the pressure virial is incorrect. W: Cannot count rigid body degrees-of-freedom before bodies are fully initialized This means the temperature associated with the rigid bodies may be incorrect on this timestep. W: Computing temperature of portions of rigid bodies The group defined by the temperature compute does not encompass all the atoms in one or more rigid bodies, so the change in degrees-of-freedom for the atoms in those partial rigid bodies will not be accounted for. E: Fix rigid atom has non-zero image flag in a non-periodic dimension Image flags for non-periodic dimensions should not be set. E: Insufficient Jacobi rotations for rigid body Eigensolve for rigid body was not sufficiently accurate. E: Fix rigid: Bad principal moments The principal moments of inertia computed for a rigid body are not within the required tolerances. E: Cannot open fix rigid infile %s The specified file cannot be opened. Check that the path and name are correct. E: Unexpected end of fix rigid file A read operation from the file failed. E: Fix rigid file has no lines Self-explanatory. E: Incorrect rigid body format in fix rigid file The number of fields per line is not what expected. E: Invalid rigid body ID in fix rigid file The ID does not match the number of an existing ID of rigid bodies that are defined by the fix rigid command. E: Cannot open fix rigid restart file %s The specified file cannot be opened. Check that the path and name are correct. */ diff --git a/src/RIGID/fix_rigid_nh.h b/src/RIGID/fix_rigid_nh.h index 4425de399..c27944373 100644 --- a/src/RIGID/fix_rigid_nh.h +++ b/src/RIGID/fix_rigid_nh.h @@ -1,183 +1,183 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_FIX_RIGID_NH_H #define LMP_FIX_RIGID_NH_H #include "fix_rigid.h" namespace LAMMPS_NS { class FixRigidNH : public FixRigid { public: FixRigidNH(class LAMMPS *, int, char **); virtual ~FixRigidNH(); virtual int setmask(); virtual void init(); virtual void setup(int); virtual void initial_integrate(int); virtual void final_integrate(); virtual double compute_scalar(); int modify_param(int, char **); void write_restart(FILE *); void restart(char *buf); void reset_target(double); protected: double **conjqm; // conjugate quaternion momentum 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 *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 double *eta_dot_t,*eta_dot_r; // trans/rot thermostat velocities double *f_eta_t,*f_eta_r; // trans/rot thermostat forces double epsilon_mass[3], *q_b; // baro/thermo masses double epsilon[3],*eta_b; // baro/thermo positions double epsilon_dot[3],*eta_dot_b; // baro/thermo velocities double *f_eta_b; // thermo forces double akin_t,akin_r; // translational/rotational kinetic energies int kspace_flag; // 1 if KSpace invoked, 0 if not int nrigidfix; // number of rigid fixes int *rfix; // indicies of rigid fixes double vol0; // reference volume double t0; // reference temperature int pdim,g_f; // number of barostatted dims, total DoFs double p_hydro; // hydrostatic target pressure double p_freq_max; // maximum barostat frequency double mtk_term1,mtk_term2; // Martyna-Tobias-Klein corrections double t_current,t_target; double p_current[3],p_target[3]; char *id_temp,*id_press; class Compute *temperature,*pressure; int tcomputeflag,pcomputeflag; void couple(); void remap(); void nhc_temp_integrate(); void nhc_press_integrate(); virtual void compute_temp_target(); void compute_press_target(); void nh_epsilon_dot(); void allocate_chain(); void allocate_order(); void deallocate_chain(); void deallocate_order(); inline double maclaurin_series(double); }; inline double FixRigidNH::maclaurin_series(double x) { double x2,x4; x2 = x * x; x4 = x2 * x2; return (1.0 + (1.0/6.0) * x2 + (1.0/120.0) * x4 + (1.0/5040.0) * x2 * x4 + (1.0/362880.0) * x4 * x4); } } #endif /* ERROR/WARNING messages: E: Fix rigid npt/nph period must be > 0.0 Self-explanatory. E: Invalid fix rigid npt/nph command for a 2d simulation Cannot control z dimension in a 2d model. E: Invalid fix rigid npt/nph command pressure settings If multiple dimensions are coupled, those dimensions must be specified. E: Cannot use fix rigid npt/nph on a non-periodic dimension When specifying a diagonal pressure component, the dimension must be periodic. E: Invalid fix rigid npt/nph pressure settings Settings for coupled dimensions must be the same. E: Fix rigid nvt/npt/nph damping parameters must be > 0.0 Self-explanatory. E: Fix rigid npt/nph dilate group ID does not exist Self-explanatory. E: Temperature ID for fix rigid nvt/npt/nph does not exist Self-explanatory. E: Fix rigid npt/nph does not yet allow triclinic box Self-explanatory. 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: Pressure ID for fix rigid npt/nph does not exist Self-explanatory. E: Illegal ... command 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: Could not find fix_modify temperature ID The compute ID for computing temperature does not exist. E: Fix_modify temperature ID does not compute temperature The compute ID assigned to the fix must compute temperature. W: Temperature for fix modify is not for group all The temperature compute is being used with a pressure calculation which does operate on group all, so this may be inconsistent. E: Pressure ID for fix modify does not exist Self-explanatory. E: Could not find fix_modify pressure ID The compute ID for computing pressure does not exist. E: Fix_modify pressure ID does not compute pressure The compute ID assigned to the fix must compute pressure. */ diff --git a/src/RIGID/fix_rigid_nh_small.h b/src/RIGID/fix_rigid_nh_small.h index 3dd8d8099..68b47bbf8 100644 --- a/src/RIGID/fix_rigid_nh_small.h +++ b/src/RIGID/fix_rigid_nh_small.h @@ -1,195 +1,195 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_FIX_RIGID_NH_SMALL_H #define LMP_FIX_RIGID_NH_SMALL_H #include "fix_rigid_small.h" namespace LAMMPS_NS { class FixRigidNHSmall : public FixRigidSmall { public: FixRigidNHSmall(class LAMMPS *, int, char **); virtual ~FixRigidNHSmall(); virtual int setmask(); virtual void init(); virtual void setup(int); virtual void initial_integrate(int); virtual void final_integrate(); virtual double compute_scalar(); int modify_param(int, char **); void write_restart(FILE *); void restart(char *buf); void reset_target(double); protected: double boltz,nktv2p,mvv2e; // boltzman constant, conversion factors int dimension; // # of dimensions int nf_t,nf_r; // 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 double *eta_dot_t,*eta_dot_r; // trans/rot thermostat velocities double *f_eta_t,*f_eta_r; // trans/rot thermostat forces double epsilon_mass[3], *q_b; // baro/thermo masses double epsilon[3],*eta_b; // baro/thermo positions double epsilon_dot[3],*eta_dot_b; // baro/thermo velocities double *f_eta_b; // thermo forces double akin_t,akin_r; // translational/rotational kinetic energies int kspace_flag; // 1 if KSpace invoked, 0 if not int nrigidfix; // number of rigid fixes int *rfix; // indicies of rigid fixes double vol0; // reference volume double t0; // reference temperature int pdim,g_f; // number of barostatted dims, total DoFs double p_hydro; // hydrostatic target pressure double p_freq_max; // maximum barostat frequency double mtk_term1,mtk_term2; // Martyna-Tobias-Klein corrections double t_target,t_current; double t_freq; char *id_temp,*id_press; class Compute *temperature,*pressure; int tcomputeflag,pcomputeflag; void couple(); void remap(); void nhc_temp_integrate(); void nhc_press_integrate(); virtual void compute_temp_target(); void compute_press_target(); void nh_epsilon_dot(); void allocate_chain(); void allocate_order(); void deallocate_chain(); void deallocate_order(); void no_squish_rotate(int, double *, double *, double *, double); inline double maclaurin_series(double); }; inline double FixRigidNHSmall::maclaurin_series(double x) { double x2,x4; x2 = x * x; x4 = x2 * x2; return (1.0 + (1.0/6.0) * x2 + (1.0/120.0) * x4 + (1.0/5040.0) * x2 * x4 + (1.0/362880.0) * x4 * x4); } } #endif /* ERROR/WARNING messages: E: Fix rigid npt/nph period must be > 0.0 Self-explanatory. E: Invalid fix rigid npt/nph command for a 2d simulation Cannot control z dimension in a 2d model. E: Invalid fix rigid npt/nph command pressure settings If multiple dimensions are coupled, those dimensions must be specified. E: Cannot use fix rigid npt/nph on a non-periodic dimension When specifying a diagonal pressure component, the dimension must be periodic. E: Invalid fix rigid npt/nph pressure settings Settings for coupled dimensions must be the same. E: Fix rigid nvt/npt/nph damping parameters must be > 0.0 Self-explanatory. E: Fix rigid npt/nph dilate group ID does not exist Self-explanatory. E: Temp ID for fix rigid npt/nph does not exist Specified compute temperature must be valid. E: fix rigid npt/nph does not yet allow triclinic box Self-explanatory. 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 Specified compute pressure must be valid. E: Illegal ... command 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: Could not find fix_modify temperature ID The compute ID for computing temperature does not exist. E: Fix_modify temperature ID does not compute temperature The compute ID assigned to the fix must compute temperature. W: Temperature for fix modify is not for group all The temperature compute is being used with a pressure calculation which does operate on group all, so this may be inconsistent. E: Pressure ID for fix modify does not exist Self-explanatory. E: Could not find fix_modify pressure ID The compute ID for computing pressure does not exist. E: Fix_modify pressure ID does not compute pressure The compute ID assigned to the fix must compute pressure. U: Target temperature for fix rigid nvt/npt cannot be 0.0 Self-explanatory. U: Temperature ID for fix rigid npt/nph does not exist Self-explanatory. U: Pressure ID for fix rigid npt/nph does not exist Self-explanatory. */ diff --git a/src/RIGID/fix_rigid_nph.h b/src/RIGID/fix_rigid_nph.h index 70208d959..58054c17a 100644 --- a/src/RIGID/fix_rigid_nph.h +++ b/src/RIGID/fix_rigid_nph.h @@ -1,49 +1,49 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(rigid/nph,FixRigidNPH) #else #ifndef LMP_FIX_RIGID_NPH_H #define LMP_FIX_RIGID_NPH_H #include "fix_rigid_nh.h" namespace LAMMPS_NS { class FixRigidNPH : public FixRigidNH { public: FixRigidNPH(class LAMMPS *, int, char **); ~FixRigidNPH() {} }; } #endif #endif /* ERROR/WARNING messages: E: Did not set pressure for fix rigid/nph The press keyword must be specified. E: Cannot set temperature for fix rigid/nph The temp keyword cannot be specified. */ diff --git a/src/RIGID/fix_rigid_nph_small.h b/src/RIGID/fix_rigid_nph_small.h index ff772f8e4..0b1cf0a64 100644 --- a/src/RIGID/fix_rigid_nph_small.h +++ b/src/RIGID/fix_rigid_nph_small.h @@ -1,53 +1,53 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(rigid/nph/small,FixRigidNPHSmall) #else #ifndef LMP_FIX_RIGID_NPH_SMALL_H #define LMP_FIX_RIGID_NPH_SMALL_H #include "fix_rigid_nh_small.h" namespace LAMMPS_NS { class FixRigidNPHSmall : public FixRigidNHSmall { public: FixRigidNPHSmall(class LAMMPS *, int, char **); ~FixRigidNPHSmall() {} }; } #endif #endif /* ERROR/WARNING messages: E: Pressure control must be used with fix rigid nph/small UNDOCUMENTED E: Temperature control must not be used with fix rigid/nph/small UNDOCUMENTED E: Target pressure for fix rigid/nph/small cannot be 0.0 UNDOCUMENTED */ diff --git a/src/RIGID/fix_rigid_npt.h b/src/RIGID/fix_rigid_npt.h index e36d5375c..73881dc19 100644 --- a/src/RIGID/fix_rigid_npt.h +++ b/src/RIGID/fix_rigid_npt.h @@ -1,63 +1,63 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(rigid/npt,FixRigidNPT) #else #ifndef LMP_FIX_RIGID_NPT_H #define LMP_FIX_RIGID_NPT_H #include "fix_rigid_nh.h" namespace LAMMPS_NS { class FixRigidNPT : public FixRigidNH { public: FixRigidNPT(class LAMMPS *, int, char **); ~FixRigidNPT() {} }; } #endif #endif /* ERROR/WARNING messages: E: Did not set temperature or pressure for fix rigid/npt The temp and press keywords must be specified. E: Target temperature for fix rigid/npt cannot be 0.0 Self-explanatory. E: Fix rigid/npt period must be > 0.0 Self-explanatory. E: Illegal ... command 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 rigid/npt temperature order must be 3 or 5 Self-explanatory. */ diff --git a/src/RIGID/fix_rigid_npt_small.h b/src/RIGID/fix_rigid_npt_small.h index fa697beb4..535e095d6 100644 --- a/src/RIGID/fix_rigid_npt_small.h +++ b/src/RIGID/fix_rigid_npt_small.h @@ -1,65 +1,65 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(rigid/npt/small,FixRigidNPTSmall) #else #ifndef LMP_FIX_RIGID_NPT_SMALL_H #define LMP_FIX_RIGID_NPT_SMALL_H #include "fix_rigid_nh_small.h" namespace LAMMPS_NS { class FixRigidNPTSmall : public FixRigidNHSmall { public: FixRigidNPTSmall(class LAMMPS *, int, char **); ~FixRigidNPTSmall() {} }; } #endif #endif /* ERROR/WARNING messages: E: Did not set temp or press for fix rigid/npt/small UNDOCUMENTED E: Target temperature for fix rigid/npt/small cannot be 0.0 UNDOCUMENTED E: Target pressure for fix rigid/npt/small cannot be 0.0 UNDOCUMENTED E: Fix rigid/npt/small period must be > 0.0 UNDOCUMENTED E: Illegal ... command UNDOCUMENTED E: Fix_modify order must be 3 or 5 UNDOCUMENTED */ diff --git a/src/RIGID/fix_rigid_nve.h b/src/RIGID/fix_rigid_nve.h index 2f5d854c1..98e1e0057 100644 --- a/src/RIGID/fix_rigid_nve.h +++ b/src/RIGID/fix_rigid_nve.h @@ -1,36 +1,36 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(rigid/nve,FixRigidNVE) #else #ifndef LMP_FIX_RIGID_NVE_H #define LMP_FIX_RIGID_NVE_H #include "fix_rigid_nh.h" namespace LAMMPS_NS { class FixRigidNVE : public FixRigidNH { public: FixRigidNVE(class LAMMPS *, int, char **); ~FixRigidNVE() {} }; } #endif #endif diff --git a/src/RIGID/fix_rigid_nve_small.h b/src/RIGID/fix_rigid_nve_small.h index 13d510f6f..db9485cbf 100644 --- a/src/RIGID/fix_rigid_nve_small.h +++ b/src/RIGID/fix_rigid_nve_small.h @@ -1,36 +1,36 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(rigid/nve/small,FixRigidNVESmall) #else #ifndef LMP_FIX_RIGID_NVE_SMALL_H #define LMP_FIX_RIGID_NVE_SMALL_H #include "fix_rigid_nh_small.h" namespace LAMMPS_NS { class FixRigidNVESmall : public FixRigidNHSmall { public: FixRigidNVESmall(class LAMMPS *, int, char **); ~FixRigidNVESmall() {} }; } #endif #endif diff --git a/src/RIGID/fix_rigid_nvt.h b/src/RIGID/fix_rigid_nvt.h index 8f2e46019..293b4abec 100644 --- a/src/RIGID/fix_rigid_nvt.h +++ b/src/RIGID/fix_rigid_nvt.h @@ -1,62 +1,62 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(rigid/nvt,FixRigidNVT) #else #ifndef LMP_FIX_RIGID_NVT_H #define LMP_FIX_RIGID_NVT_H #include "fix_rigid_nh.h" namespace LAMMPS_NS { class FixRigidNVT : public FixRigidNH { public: FixRigidNVT(class LAMMPS *, int, char **); ~FixRigidNVT() {} }; } #endif #endif /* ERROR/WARNING messages: 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 Self-explanatory. E: Fix rigid/nvt period must be > 0.0 Self-explanatory. E: Illegal ... command 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 rigid/nvt temperature order must be 3 or 5 Self-explanatory. */ diff --git a/src/RIGID/fix_rigid_nvt_small.h b/src/RIGID/fix_rigid_nvt_small.h index 39120a3d2..711a65834 100644 --- a/src/RIGID/fix_rigid_nvt_small.h +++ b/src/RIGID/fix_rigid_nvt_small.h @@ -1,60 +1,60 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(rigid/nvt/small,FixRigidNVTSmall) #else #ifndef LMP_FIX_RIGID_NVT_SMALL_H #define LMP_FIX_RIGID_NVT_SMALL_H #include "fix_rigid_nh_small.h" namespace LAMMPS_NS { class FixRigidNVTSmall : public FixRigidNHSmall { public: FixRigidNVTSmall(class LAMMPS *, int, char **); ~FixRigidNVTSmall() {} }; } #endif #endif /* ERROR/WARNING messages: E: Did not set temp for fix rigid/nvt/small UNDOCUMENTED E: Target temperature for fix rigid/nvt/small cannot be 0.0 UNDOCUMENTED E: Fix rigid/nvt/small period must be > 0.0 UNDOCUMENTED E: Illegal ... command UNDOCUMENTED E: Fix_modify order must be 3 or 5 UNDOCUMENTED */ diff --git a/src/RIGID/fix_rigid_small.h b/src/RIGID/fix_rigid_small.h index db274e244..56e4a2025 100644 --- a/src/RIGID/fix_rigid_small.h +++ b/src/RIGID/fix_rigid_small.h @@ -1,317 +1,317 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(rigid/small,FixRigidSmall) #else #ifndef LMP_FIX_RIGID_SMALL_H #define LMP_FIX_RIGID_SMALL_H #include "fix.h" // replace this later #include namespace LAMMPS_NS { class FixRigidSmall : public Fix { public: // static variable for ring communication callback to access class data static FixRigidSmall *frsptr; FixRigidSmall(class LAMMPS *, int, char **); virtual ~FixRigidSmall(); virtual int setmask(); virtual void init(); virtual void setup(int); virtual void initial_integrate(int); void post_force(int); virtual void final_integrate(); void initial_integrate_respa(int, int, int); void final_integrate_respa(int, int); void write_restart_file(char *); void grow_arrays(int); void copy_arrays(int, int, int); void set_arrays(int); void set_molecule(int, tagint, int, double *, double *, double *); int pack_exchange(int, double *); int unpack_exchange(int, double *); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); void setup_pre_neighbor(); void pre_neighbor(); int dof(int); void deform(int); void reset_dt(); void zero_momentum(); void zero_rotation(); void *extract(const char*, int &); double extract_ke(); double extract_erotational(); double compute_scalar(); double memory_usage(); protected: int me,nprocs; double dtv,dtf,dtq; double *step_respa; int triclinic; double MINUSPI,TWOPI; char *infile; // file to read rigid body attributes from int staticflag; // 1 if static body properties are setup, else 0 int commflag; // various modes of forward/reverse comm int nbody; // total # of rigid bodies tagint maxmol; // max mol-ID double maxextent; // furthest distance from body owner to body atom struct Body { double mass; // total mass of body double xcm[3]; // COM position double vcm[3]; // COM velocity double fcm[3]; // force on COM double torque[3]; // torque around COM double quat[4]; // quaternion for orientation of body double inertia[3]; // 3 principal components of inertia double ex_space[3]; // principal axes in space coords double ey_space[3]; double ez_space[3]; double angmom[3]; // space-frame angular momentum of body double omega[3]; // space-frame omega of body double conjqm[4]; // conjugate quaternion momentum imageint image; // image flags of xcm int remapflag[4]; // PBC remap flags int ilocal; // index of owning atom }; Body *body; // list of rigid bodies, owned and ghost int nlocal_body; // # of owned rigid bodies int nghost_body; // # of ghost rigid bodies int nmax_body; // max # of bodies that body can hold int bodysize; // sizeof(Body) in doubles // per-atom quantities // only defined for owned atoms, except bodyown for own+ghost int *bodyown; // index of body if atom owns a body, -1 if not tagint *bodytag; // ID of body this atom is in, 0 if none // ID = tag of atom that owns body int *atom2body; // index of owned/ghost body this atom is in, -1 if not // can point to original or any image of the body double **displace; // displacement of each atom in body coords int *eflags; // flags for extended particles double **orient; // orientation vector of particle wrt rigid body double **dorient; // orientation of dipole mu wrt rigid body int extended; // 1 if any particles have extended attributes int orientflag; // 1 if particles store spatial orientation int dorientflag; // 1 if particles store dipole orientation int POINT,SPHERE,ELLIPSOID,LINE,TRIANGLE,DIPOLE; // bitmasks for eflags int OMEGA,ANGMOM,TORQUE; class AtomVecEllipsoid *avec_ellipsoid; class AtomVecLine *avec_line; class AtomVecTri *avec_tri; // temporary per-body storage int **counts; // counts of atom types in bodies double **itensor; // 6 space-frame components of inertia tensor // mass per body, accessed by granular pair styles double *mass_body; int nmax_mass; // Langevin thermostatting int langflag; // 0/1 = no/yes Langevin thermostat double t_start,t_stop,t_period; // thermostat params double **langextra; // Langevin thermostat forces and torques int maxlang; // max size of langextra class RanMars *random; // RNG int tstat_flag,pstat_flag; // 0/1 = no/yes thermostat/barostat int t_chain,t_iter,t_order; double p_start[3],p_stop[3]; double p_period[3],p_freq[3]; int p_flag[3]; int pcouple,pstyle; int p_chain; int allremap; // remap all atoms int dilate_group_bit; // mask for dilation group char *id_dilate; // group name to dilate double p_current[3],p_target[3]; // molecules added on-the-fly as rigid bodies class Molecule **onemols; int nmol; // class data used by ring communication callbacks std::map *hash; double **bbox; double **ctr; tagint *idclose; double *rsqclose; double rsqfar; void set_xv(); void set_v(); void create_bodies(); void setup_bodies_static(); void setup_bodies_dynamic(); void readfile(int, double **, int *); void grow_body(); void reset_atom2body(); // callback functions for ring communication static void ring_bbox(int, char *); static void ring_nearest(int, char *); static void ring_farthest(int, char *); // debug //void check(int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 rigid/small requires atom attribute molecule Self-explanatory. E: Fix rigid/small requires an atom map, see atom_modify Self-explanatory. E: Fix rigid/small langevin period must be > 0.0 Self-explanatory. E: Molecule template ID for fix rigid/small does not exist Self-explanatory. W: Molecule template for fix rigid/small has multiple molecules The fix rigid/small command will only recoginze molecules of a single type, i.e. the first molecule in the template. E: Fix rigid/small molecule must have coordinates The defined molecule does not specify coordinates. E: Fix rigid/small molecule must have atom types The defined molecule does not specify atom types. W: More than one fix rigid It is not efficient to use fix rigid more than once. E: Rigid fix must come before NPT/NPH fix NPT/NPH fix must be defined in input script after all rigid fixes, else the rigid fix contribution to the pressure virial is incorrect. W: Cannot count rigid body degrees-of-freedom before bodies are fully initialized This means the temperature associated with the rigid bodies may be incorrect on this timestep. W: Computing temperature of portions of rigid bodies The group defined by the temperature compute does not encompass all the atoms in one or more rigid bodies, so the change in degrees-of-freedom for the atoms in those partial rigid bodies will not be accounted for. E: Fix rigid/small atom has non-zero image flag in a non-periodic dimension Image flags for non-periodic dimensions should not be set. E: Insufficient Jacobi rotations for rigid body Eigensolve for rigid body was not sufficiently accurate. E: Fix rigid: Bad principal moments The principal moments of inertia computed for a rigid body are not within the required tolerances. E: Cannot open fix rigid/small infile %s The specified file cannot be opened. Check that the path and name are correct. E: Unexpected end of fix rigid/small file A read operation from the file failed. E: Fix rigid file has no lines Self-explanatory. E: Incorrect rigid body format in fix rigid/small file The number of fields per line is not what expected. E: Invalid rigid body ID in fix rigid/small file The ID does not match the number of an existing ID of rigid bodies that are defined by the fix rigid/small command. E: Cannot open fix rigid restart file %s The specified file cannot be opened. Check that the path and name are correct. E: Rigid body atoms %d %d missing on proc %d at step %ld This means that an atom cannot find the atom that owns the rigid body it is part of, or vice versa. The solution is to use the communicate cutoff command to insure ghost atoms are acquired from far enough away to encompass the max distance printed when the fix rigid/small command was invoked. */ diff --git a/src/RIGID/fix_shake.h b/src/RIGID/fix_shake.h index 02dd1e92f..8ba856aa2 100644 --- a/src/RIGID/fix_shake.h +++ b/src/RIGID/fix_shake.h @@ -1,256 +1,256 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(shake,FixShake) #else #ifndef LMP_FIX_SHAKE_H #define LMP_FIX_SHAKE_H #include "fix.h" namespace LAMMPS_NS { class FixShake : public Fix { public: FixShake(class LAMMPS *, int, char **); ~FixShake(); int setmask(); void init(); void setup(int); void pre_neighbor(); void post_force(int); void post_force_respa(int, int, int); double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); void set_arrays(int); void update_arrays(int, int); void set_molecule(int, tagint, int, double *, double *, double *); int pack_exchange(int, double *); int unpack_exchange(int, double *); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); int dof(int); void reset_dt(); void *extract(const char *, int &); private: int me,nprocs; double tolerance; // SHAKE tolerance int max_iter; // max # of SHAKE iterations int output_every; // SHAKE stat output every so often bigint next_output; // timestep for next output // settings from input command int *bond_flag,*angle_flag; // bond/angle types to constrain int *type_flag; // constrain bonds to these types double *mass_list; // constrain bonds to these masses int nmass; // # of masses in mass_list int molecular; // copy of atom->molecular double *bond_distance,*angle_distance; // constraint distances int ifix_respa; // rRESPA fix needed by SHAKE int nlevels_respa; // copies of needed rRESPA variables int *loop_respa; double *step_respa; double **x,**v,**f; // local ptrs to atom class quantities double *mass,*rmass; int *type; int nlocal; // atom-based arrays int *shake_flag; // 0 if atom not in SHAKE cluster // 1 = size 3 angle cluster // 2,3,4 = size of bond-only cluster tagint **shake_atom; // global IDs of atoms in cluster // central atom is 1st // lowest global ID is 1st for size 2 int **shake_type; // bondtype of each bond in cluster // for angle cluster, 3rd value // is angletype double **xshake; // unconstrained atom coords int *nshake; // count double dtv,dtfsq; // timesteps for trial move double dtf_inner,dtf_innerhalf; // timesteps for rRESPA trial move int *list; // list of clusters to SHAKE int nlist,maxlist; // size and max-size of list // stat quantities int *b_count,*b_count_all; // counts for each bond type double *b_ave,*b_max,*b_min; // ave/max/min dist for each bond type double *b_ave_all,*b_max_all,*b_min_all; // MPI summing arrays int *a_count,*a_count_all; // ditto for angle types double *a_ave,*a_max,*a_min; double *a_ave_all,*a_max_all,*a_min_all; class Molecule **atommols; // atom style template pointer class Molecule **onemols; // molecule added on-the-fly int nmol; void find_clusters(); int masscheck(double); void unconstrained_update(); void unconstrained_update_respa(int); void shake(int); void shake3(int); void shake4(int); void shake3angle(int); void stats(); int bondtype_findset(int, tagint, tagint, int); int angletype_findset(int, tagint, tagint, int); // static variable for ring communication callback to access class data // callback functions for ring communication static FixShake *fsptr; static void ring_bonds(int, char *); static void ring_nshake(int, char *); static void ring_shake(int, char *); }; } #endif #endif /* ERROR/WARNING messages: E: Cannot use fix shake with non-molecular system Your choice of atom style does not have bonds. E: Illegal ... command 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: Invalid bond type index for fix shake Self-explanatory. Check the fix shake command in the input script. E: Invalid angle type index for fix shake Self-explanatory. E: Invalid atom type index for fix shake Atom types must range from 1 to Ntypes inclusive. E: Invalid atom mass for fix shake Mass specified in fix shake command must be > 0.0. E: Too many masses for fix shake The fix shake command cannot list more masses than there are atom types. E: Molecule template ID for fix shake does not exist Self-explanatory. W: Molecule template for fix shake has multiple molecules The fix shake command will only recoginze molecules of a single type, i.e. the first molecule in the template. E: Fix shake molecule template must have shake info The defined molecule does not specify SHAKE information. E: More than one fix shake Only one fix shake can be defined. E: Fix shake cannot be used with minimization Cannot use fix shake while doing an energy minimization since it turns off bonds that should contribute to the energy. E: Shake fix must come before NPT/NPH fix NPT fix must be defined in input script after SHAKE fix, else the SHAKE fix contribution to the pressure virial is incorrect. E: Bond potential must be defined for SHAKE Cannot use fix shake unless bond potential is defined. E: Angle potential must be defined for SHAKE When shaking angles, an angle_style potential must be used. E: Shake angles have different bond types All 3-atom angle-constrained SHAKE clusters specified by the fix shake command that are the same angle type, must also have the same bond types for the 2 bonds in the angle. E: Shake atoms %d %d missing on proc %d at step %ld The 2 atoms in a single shake cluster specified by the fix shake command are not all accessible to a processor. This probably means an atom has moved too far. E: Shake atoms %d %d %d missing on proc %d at step %ld The 3 atoms in a single shake cluster specified by the fix shake command are not all accessible to a processor. This probably means an atom has moved too far. E: Shake atoms %d %d %d %d missing on proc %d at step %ld The 4 atoms in a single shake cluster specified by the fix shake command are not all accessible to a processor. This probably means an atom has moved too far. E: Did not find fix shake partner info Could not find bond partners implied by fix shake command. This error can be triggered if the delete_bonds command was used before fix shake, and it removed bonds without resetting the 1-2, 1-3, 1-4 weighting list via the special keyword. E: Shake cluster of more than 4 atoms A single cluster specified by the fix shake command can have no more than 4 atoms. E: Shake clusters are connected A single cluster specified by the fix shake command must have a single central atom with up to 3 other atoms bonded to it. W: Shake determinant < 0.0 The determinant of the quadratic equation being solved for a single cluster specified by the fix shake command is numerically suspect. LAMMPS will set it to 0.0 and continue. E: Shake determinant = 0.0 The determinant of the matrix being solved for a single cluster specified by the fix shake command is numerically invalid. */ diff --git a/src/SHOCK/fix_append_atoms.h b/src/SHOCK/fix_append_atoms.h index 6343c4205..1368d164b 100644 --- a/src/SHOCK/fix_append_atoms.h +++ b/src/SHOCK/fix_append_atoms.h @@ -1,109 +1,109 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(append/atoms,FixAppendAtoms) #else #ifndef FIX_APPEND_ATOMS_H #define FIX_APPEND_ATOMS_H #include "fix.h" namespace LAMMPS_NS { class FixAppendAtoms : public Fix { public: FixAppendAtoms(class LAMMPS *, int, char **); ~FixAppendAtoms(); int setmask(); void setup(int); void pre_exchange(); void initial_integrate(int); void post_force(int); private: int get_spatial(); int spatflag, xloflag, xhiflag, yloflag, yhiflag, zloflag, zhiflag; int ranflag, tempflag, xseed, tseed; double ranx, rany, ranz, t_target, t_period, t_extent; class RanMars *randomx; class RanMars *randomt; int scaleflag, freq; int nbasis; int *basistype; int advance,advance_sum; double size,spatlead; char *spatialid; double tfactor; double *gfactor1,*gfactor2; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 append/atoms requires a lattice be defined Use the lattice command for this purpose. E: Only zhi currently implemented for fix append/atoms Self-explanatory. E: Append boundary must be shrink/minimum The boundary style of the face where atoms are added must be of type m (shrink/minimum). 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: Invalid basis setting in fix append/atoms command The basis index must be between 1 to N where N is the number of basis atoms in the lattice. The type index must be between 1 to N where N is the number of atom types. E: Cannot use append/atoms in periodic dimension The boundary style of the face where atoms are added can not be of type p (periodic). E: Cannot append atoms to a triclinic box The simulation box must be defined with edges alligned with the Cartesian axes. E: Fix ID for fix ave/spatial does not exist Self-explanatory. E: Too many total atoms See the setting for bigint in the src/lmptype.h file. */ diff --git a/src/SHOCK/fix_msst.h b/src/SHOCK/fix_msst.h index 13eed1828..e44c34dde 100644 --- a/src/SHOCK/fix_msst.h +++ b/src/SHOCK/fix_msst.h @@ -1,167 +1,167 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ /* Implementation of the Multi-Scale Shock Method. See Reed, Fried, Joannopoulos, Phys. Rev. Lett., 90, 235503(2003). Implementation by Laurence Fried, LLNL, 4/2007. */ #ifdef FIX_CLASS FixStyle(msst,FixMSST) #else #ifndef FIX_MSST_H #define FIX_MSST_H #include "fix.h" namespace LAMMPS_NS { class FixMSST : public Fix { public: FixMSST(class LAMMPS *, int, char **); ~FixMSST(); int setmask(); void init(); void setup(int); void initial_integrate(int); void final_integrate(); double compute_scalar(); double compute_vector(int); void write_restart(FILE *); void restart(char *); int modify_param(int, char **); private: double dtv,dtf,dthalf; // Full and half step sizes. double boltz,nktv2p, mvv2e; // Boltzmann factor and unit conversions. double total_mass; // Mass of the computational cell. double omega[3]; // Time derivative of the volume. double p_current[3],dilation[3]; double qmass; // Effective cell mass. double mu; // Effective cell viscosity. double tscale; // Converts thermal energy to compressive // strain ke at simulation start double velocity_sum; // Sum of the velocities squared. double **old_velocity; // Saved velocities. int kspace_flag; // 1 if KSpace invoked, 0 if not int nrigid; // number of rigid fixes int *rfix; // indices of rigid fixes char *id_temp,*id_press; // Strings with identifiers of char *id_pe; // created computes. class Compute *temperature; // Computes created to evaluate class Compute *pressure; // thermodynamic quantities. class Compute *pe; int tflag,pflag,vsflag,peflag; // Flags to keep track of computes that // were created. // shock initial conditions. double e0; // Initial energy double v0; // Initial volume double p0; // Initial pressure double velocity; // Velocity of the shock. double lagrangian_position; // Lagrangian location of computational cell int direction; // Direction of shock int p0_set; // Is pressure set. int v0_set; // Is volume set. int e0_set; // Is energy set. int atoms_allocated; // The number of allocated atoms in old_velocity. // functions void couple(); void remap(int); void check_alloc(int n); double compute_etotal(); double compute_vol(); double compute_hugoniot(); double compute_rayleigh(); double compute_lagrangian_speed(); double compute_lagrangian_position(); double compute_vsum(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 msst tscale must satisfy 0 <= tscale < 1 Self-explanatory. E: Fix msst requires a periodic box Self-explanatory. E: Cannot use fix msst without per-type mass defined Self-explanatory. E: Could not find fix msst compute ID Self-explanatory. E: Fix msst compute ID does not compute temperature Self-explanatory. E: Fix msst compute ID does not compute pressure Self-explanatory. E: Fix msst compute ID does not compute potential energy Self-explanatory. E: Could not find fix_modify temperature ID The compute ID for computing temperature does not exist. E: Fix_modify temperature ID does not compute temperature The compute ID assigned to the fix must compute temperature. W: Temperature for MSST is not for group all User-assigned temperature to MSST fix does not compute temperature for all atoms. Since MSST computes a global pressure, the kinetic energy contribution from the temperature is assumed to also be for all atoms. Thus the pressure used by MSST could be inaccurate. E: Could not find fix_modify pressure ID The compute ID for computing pressure does not exist. E: Fix_modify pressure ID does not compute pressure The compute ID assigned to the fix must compute pressure. */ diff --git a/src/SHOCK/fix_nphug.h b/src/SHOCK/fix_nphug.h index 3cdd6ec50..9ad5e3ab0 100644 --- a/src/SHOCK/fix_nphug.h +++ b/src/SHOCK/fix_nphug.h @@ -1,97 +1,97 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nphug,FixNPHug) #else #ifndef LMP_FIX_NPHUG_H #define LMP_FIX_NPHUG_H #include "fix_nh.h" namespace LAMMPS_NS { class FixNPHug : public FixNH { public: FixNPHug(class LAMMPS *, int, char **); ~FixNPHug(); void init(); void setup(int); int modify_param(int, char **); int pack_restart_data(double *); // pack restart data void restart(char *); private: class Compute *pe; // PE compute pointer void compute_temp_target(); double compute_vector(int); double compute_etotal(); double compute_vol(); double compute_hugoniot(); double compute_us(); double compute_up(); char *id_pe; int peflag; int v0_set,p0_set,e0_set; double v0,p0,e0,rho0; int idir; int uniaxial; int size_restart_global(); }; } #endif #endif /* ERROR/WARNING messages: E: Pstart and Pstop must have the same value Self-explanatory. E: Specified target stress must be uniaxial or hydrostatic Self-explanatory. E: For triclinic deformation, specified target stress must be hydrostatic Triclinic pressure control is allowed using the tri keyword, but non-hydrostatic pressure control can not be used in this case. E: Temperature control must be used with fix nphug The temp keyword must be provided. E: Pressure control must be used with fix nphug A pressure control keyword (iso, aniso, tri, x, y, or z) must be provided. E: Potential energy ID for fix nvt/nph/npt does not exist A compute for potential energy must be defined. E: Illegal ... command 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. */ diff --git a/src/SHOCK/fix_wall_piston.h b/src/SHOCK/fix_wall_piston.h index db62606c9..8ad3c25b5 100644 --- a/src/SHOCK/fix_wall_piston.h +++ b/src/SHOCK/fix_wall_piston.h @@ -1,77 +1,77 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(wall/piston,FixWallPiston) #else #ifndef LMP_FIX_WALL_PISTON_H #define LMP_FIX_WALL_PISTON_H #include "fix.h" namespace LAMMPS_NS { class FixWallPiston : public Fix { public: FixWallPiston(class LAMMPS *, int, char **); int setmask(); void post_integrate(); void initial_integrate(int); private: int xloflag,xhiflag,yloflag,yhiflag,zloflag,zhiflag; int scaleflag, roughflag, rampflag, rampNL1flag, rampNL2flag, rampNL3flag, rampNL4flag, rampNL5flag; double roughdist,roughoff,x0,y0,z0,vx,vy,vz,maxvx,maxvy,maxvz,paccelx,paccely,paccelz, angfreq; int tempflag, tseed; double t_target, t_period, t_extent; class RanMars *randomt; double *gfactor1,*gfactor2; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 wall/piston command only available at zlo The face keyword must be zlo. E: Must shrink-wrap piston boundary The boundary style of the face where the piston is applied must be of type s (shrink-wrapped). E: Illegal fix wall/piston velocity The piston velocity must be positive. E: Cannot use wall in periodic dimension Self-explanatory. E: NL ramp in wall/piston only implemented in zlo for now The ramp keyword can only be used for piston applied to face zlo. */ diff --git a/src/SNAP/compute_sna_atom.h b/src/SNAP/compute_sna_atom.h index addf8ed32..4d34aef06 100644 --- a/src/SNAP/compute_sna_atom.h +++ b/src/SNAP/compute_sna_atom.h @@ -1,53 +1,53 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(sna/atom,ComputeSNAAtom) #else #ifndef LMP_COMPUTE_SNA_ATOM_H #define LMP_COMPUTE_SNA_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputeSNAAtom : public Compute { public: ComputeSNAAtom(class LAMMPS *, int, char **); ~ComputeSNAAtom(); void init(); void init_list(int, class NeighList *); void compute_peratom(); double memory_usage(); private: int nmax, njmax, diagonalstyle; int ncoeff; double **cutsq; class NeighList *list; double **sna; double rcutfac; double *radelem; double *wjelem; class SNA** snaptr; double cutmax; }; } #endif #endif diff --git a/src/SNAP/compute_snad_atom.h b/src/SNAP/compute_snad_atom.h index 6e2a006ed..cf3805e48 100644 --- a/src/SNAP/compute_snad_atom.h +++ b/src/SNAP/compute_snad_atom.h @@ -1,54 +1,54 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(snad/atom,ComputeSNADAtom) #else #ifndef LMP_COMPUTE_SNAD_ATOM_H #define LMP_COMPUTE_SNAD_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputeSNADAtom : public Compute { public: ComputeSNADAtom(class LAMMPS *, int, char **); ~ComputeSNADAtom(); void init(); void init_list(int, class NeighList *); void compute_peratom(); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); double memory_usage(); private: int nmax, njmax, diagonalstyle; int ncoeff; double **cutsq; class NeighList *list; double **snad; double rcutfac; double *radelem; double *wjelem; class SNA** snaptr; }; } #endif #endif diff --git a/src/SNAP/compute_snav_atom.h b/src/SNAP/compute_snav_atom.h index 255658aab..79e9d020e 100644 --- a/src/SNAP/compute_snav_atom.h +++ b/src/SNAP/compute_snav_atom.h @@ -1,55 +1,55 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(snav/atom,ComputeSNAVAtom) #else #ifndef LMP_COMPUTE_SNAV_ATOM_H #define LMP_COMPUTE_SNAV_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputeSNAVAtom : public Compute { public: ComputeSNAVAtom(class LAMMPS *, int, char **); ~ComputeSNAVAtom(); void init(); void init_list(int, class NeighList *); void compute_peratom(); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); double memory_usage(); private: int nmax, njmax, diagonalstyle; int ncoeff,nvirial; double **cutsq; class NeighList *list; double **snav; double rcutfac; double *radelem; double *wjelem; class SNA** snaptr; }; } #endif #endif diff --git a/src/SNAP/pair_snap.h b/src/SNAP/pair_snap.h index 8a003c0bb..6c4282c64 100644 --- a/src/SNAP/pair_snap.h +++ b/src/SNAP/pair_snap.h @@ -1,110 +1,110 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(snap,PairSNAP) #else #ifndef LMP_PAIR_SNAP_H #define LMP_PAIR_SNAP_H #include "pair.h" namespace LAMMPS_NS { class PairSNAP : public Pair { public: PairSNAP(class LAMMPS *); ~PairSNAP(); void compute(int, int); void compute_regular(int, int); void compute_optimized(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); double memory_usage(); protected: int ncoeff; double **bvec, ***dbvec; class SNA** sna; int nmax; int nthreads; void allocate(); void read_files(char *, char *); inline int equal(double* x,double* y); inline double dist2(double* x,double* y); double extra_cutoff(); void load_balance(); void set_sna_to_shared(int snaid,int i); void build_per_atom_arrays(); int schedule_user; double schedule_time_guided; double schedule_time_dynamic; int ncalls_neigh; int do_load_balance; int ilistmask_max; int* ilistmask; int ghostinum; int ghostilist_max; int* ghostilist; int ghostnumneigh_max; int* ghostnumneigh; int* ghostneighs; int* ghostfirstneigh; int ghostneighs_total; int ghostneighs_max; int use_optimized; int use_shared_arrays; int i_max; int i_neighmax; int i_numpairs; int **i_pairs; double ***i_rij; int **i_inside; double **i_wj; double **i_rcutij; int *i_ninside; double ****i_uarraytot_r, ****i_uarraytot_i; double ******i_zarray_r, ******i_zarray_i; #ifdef TIMING_INFO // timespec starttime, endtime; double timers[4]; #endif double gamma; double rcutmax; // max cutoff for all elements int nelements; // # of unique elements char **elements; // names of unique elements double *radelem; // element radii double *wjelem; // elements weights double **coeffelem; // element bispectrum coefficients int *map; // mapping from atom types to elements int twojmax, diagonalstyle, switchflag; double rcutfac, rfac0, rmin0, wj1, wj2; int rcutfacflag, twojmaxflag; // flags for required parameters int gammaoneflag; // 1 if parameter gamma is 1 }; } #endif #endif diff --git a/src/SRD/fix_srd.h b/src/SRD/fix_srd.h index 6e3198d36..ca1cf09c9 100644 --- a/src/SRD/fix_srd.h +++ b/src/SRD/fix_srd.h @@ -1,420 +1,420 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(srd,FixSRD) #else #ifndef LMP_FIX_SRD_H #define LMP_FIX_SRD_H #include "fix.h" namespace LAMMPS_NS { class FixSRD : public Fix { public: FixSRD(class LAMMPS *, int, char **); ~FixSRD(); int setmask(); void init(); void setup(int); void pre_neighbor(); void post_force(int); double compute_vector(int); double memory_usage(); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); private: int me,nprocs; int bigexist,biggroup,biggroupbit; int collidestyle,lamdaflag,overlap,insideflag,exactflag,maxbounceallow; int cubicflag,shiftuser,shiftseed,shiftflag,tstat; int rescale_rotate,rescale_collide; double gridsrd,gridsearch,lamda,radfactor,cubictol; int triclinic,change_size,change_shape,deformflag; double dt_big,dt_srd; double mass_big,mass_srd; double temperature_srd; double sigma; double srd_per_cell; double dmax,vmax,vmaxsq; double maxbigdiam,minbigdiam; double dist_ghost,dist_srd,dist_srd_reneigh; // explained in code int wallexist,nwall,wallvarflag; class FixWallSRD *wallfix; int *wallwhich; double *xwall,*xwallhold,*vwall; double **fwall; double walltrigger; class AtomVecEllipsoid *avec_ellipsoid; class AtomVecLine *avec_line; class AtomVecTri *avec_tri; // for orthogonal box, these are in box units // for triclinic box, these are in lamda units double srdlo[3],srdhi[3]; // SRDs must stay inside double srdlo_reneigh[3],srdhi_reneigh[3]; // SRDs trigger a reneigh int dimension; int initflag,setupflag,reneighflag; class RanMars *random; class RanPark *randomshift; // stats int ncheck,ncollide,ninside,nrescale,reneighcount; int nbounce,bouncemaxnum,bouncemax; int stats_flag; int srd_bin_count; double srd_bin_temp; double stats[12],stats_all[12]; double **flocal; // local ptrs to atom force and torque double **tlocal; // info to store for each owned and ghost big particle and wall struct Big { int index; // local index of particle/wall int type; // SPHERE or ELLIPSOID or LINE or TRI or WALL double radius,radsq; // radius of sphere double aradsqinv; // 3 ellipsoid radii double bradsqinv; double cradsqinv; double length; // length of line segment double normbody[3]; // normal of tri in body-frame double cutbinsq; // add big to bin if within this distance double omega[3]; // current omega for sphere/ellipsoid/tri/line double ex[3],ey[3],ez[3]; // current orientation vecs for ellipsoid/tri double norm[3]; // current unit normal of tri in space-frame double theta; // current orientation of line }; Big *biglist; // list of info for each owned & ghost big and wall int torqueflag; // 1 if any big particle is torqued // current size of particle-based arrays int nbig; // # of owned/ghost big particles and walls int maxbig; // max number of owned/ghost big particles and walls int nmax; // max number of SRD particles // bins for SRD velocity remap, shifting and communication // binsize and inv are in lamda units for triclinic int nbins1,nbin1x,nbin1y,nbin1z; double binsize1x,binsize1y,binsize1z; double bininv1x,bininv1y,bininv1z; struct BinAve { int owner; // 1 if I am owner of this bin, 0 if not int n; // # of SRD particles in bin double xctr[3]; // center point of bin, only used for triclinic double vsum[3]; // sum of v components for SRD particles in bin double random; // random value if I am owner double value[12]; // extra per-bin values }; struct BinComm { int nsend,nrecv; // # of bins to send/recv int sendproc,recvproc; // who to send/recv to/from int *sendlist,*recvlist; // list of bins to send/recv }; struct BinShift { int commflag; // 1 if this shift requires any comm int nbins,nbinx,nbiny,nbinz; // extent of my bins int maxbinsq,maxvbin; int binlo[3],binhi[3]; // extent of my bins in global array double corner[3]; // lower,left corner to offset from // corner is in lamda units for triclinic BinAve *vbin; // my bins BinComm bcomm[6]; // bin communication pattern for overlaps }; BinShift shifts[2]; // 0 = no shift, 1 = shift int maxbin1; int *binhead; // 1st SRD particle in each bin int *binnext; // next SRD particle in same bin int maxbuf; double *sbuf1,*sbuf2; // buffers for send/recv of velocity bin data double *rbuf1,*rbuf2; // bins and stencil for collision searching for SRDs & big particles int nbins2,nbin2x,nbin2y,nbin2z; int maxbin2; double binsize2x,binsize2y,binsize2z; double bininv2x,bininv2y,bininv2z; double xblo2,yblo2,zblo2; int *nbinbig; // # of big particles overlapping each bin int **binbig; // indices of big particles overlapping each bin int *binsrd; // which bin each SRD particle is in int nstencil; // # of bins in stencil int maxstencil; // max # of bins stencil array can hold int **stencil; // list of 3d bin offsets a big particle can overlap // persistent data for line/tri collision calculations double tfraction,theta0,theta1; double xs0[3],xs1[3],xsc[3]; double xb0[3],xb1[3],xbc[3]; double nbc[3]; // shared data for triangle collision calculations // private functions void reset_velocities(); void vbin_comm(int); void vbin_pack(BinAve *, int, int *, double *); void vbin_unpack(double *, BinAve *, int, int *); void xbin_comm(int, int); void xbin_pack(BinAve *, int, int *, double *, int); void xbin_unpack(double *, BinAve *, int, int *, int); void collisions_single(); void collisions_multi(); int inside_sphere(double *, double *, Big *); int inside_ellipsoid(double *, double *, Big *); int inside_line(double *, double *, double *, double *, Big *, double); int inside_tri(double *, double *, double *, double *, Big *, double); int inside_wall(double *, int); double collision_sphere_exact(double *, double *, double *, double *, Big *, double *, double *, double *); void collision_sphere_inexact(double *, double *, Big *, double *, double *, double *); double collision_ellipsoid_exact(double *, double *, double *, double *, Big *, double *, double *, double *); void collision_ellipsoid_inexact(double *, double *, Big *, double *, double *, double *); double collision_line_exact(double *, double *, double *, double *, Big *, double, double *, double *, double *); double collision_tri_exact(double *, double *, double *, double *, Big *, double, double *, double *, double *); double collision_wall_exact(double *, int, double *, double *, double *, double *); void collision_wall_inexact(double *, int, double *, double *, double *); void slip(double *, double *, double *, Big *, double *, double *, double *); void slip_wall(double *, int, double *, double *); void noslip(double *, double *, double *, Big *, int, double *, double *, double *); void force_torque(double *, double *, double *, double *, double *, double *); void force_wall(double *, double *, int); int update_srd(int, double, double *, double *, double *, double *); void parameterize(); void setup_bounds(); void setup_velocity_bins(); void setup_velocity_shift(int, int); void setup_search_bins(); void setup_search_stencil(); void big_static(); void big_dynamic(); double point_bin_distance(double *, int, int, int); double bin_bin_distance(int, int, int); void velocity_stats(int); double newton_raphson(double, double); void lineside(double, double &, double &); void triside(double, double &, double &); double distance(int, int); void print_collision(int, int, int, double, double, double *, double *, double *, int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Could not find fix srd group ID Self-explanatory. E: Fix srd requires newton pair on Self-explanatory. E: Fix srd requires ghost atoms store velocity Use the comm_modify vel yes command to enable this. E: Fix SRD no-slip requires atom attribute torque This is because the SRD collisions will impart torque to the solute particles. E: Cannot change timestep once fix srd is setup This is because various SRD properties depend on the timestep size. E: Cannot use fix wall/srd more than once Nor is their a need to since multiple walls can be specified in one command. W: Fix SRD walls overlap but fix srd overlap not set You likely want to set this in your input script. E: Using fix srd with inconsistent fix deform remap option When shearing the box in an SRD simulation, the remap v option for fix deform needs to be used. W: Using fix srd with box deformation but no SRD thermostat The deformation will heat the SRD particles so this can be dangerous. W: Fix srd SRD moves may trigger frequent reneighboring This is because the SRD particles may move long distances. E: Fix SRD: bad search bin assignment Something has gone wrong in your SRD model; try using more conservative settings. E: Fix SRD: bad stencil bin for big particle Something has gone wrong in your SRD model; try using more conservative settings. E: Fix SRD: too many big particles in bin Reset the ATOMPERBIN parameter at the top of fix_srd.cpp to a larger value, and re-compile the code. E: Fix SRD: too many walls in bin This should not happen unless your system has been setup incorrectly. E: Fix SRD: bad bin assignment for SRD advection Something has gone wrong in your SRD model; try using more conservative settings. E: 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 See the inside keyword if you want this message to be an error vs warning. E: Bad quadratic solve for particle/line collision This is an internal error. It should nornally not occur. E: Bad quadratic solve for particle/tri collision This is an internal error. It should nornally not occur. W: Fix srd particle moved outside valid domain This may indicate a problem with your simulation parameters. E: Big particle in fix srd cannot be point particle Big particles must be extended spheriods or ellipsoids. E: Cannot use lines with fix srd unless overlap is set This is because line segements are connected to each other. E: Cannot use tris with fix srd unless overlap is set This is because triangles are connected to each other. E: Fix srd requires SRD particles all have same mass Self-explanatory. E: Fewer SRD bins than processors in some dimension This is not allowed. Make your SRD bin size smaller. E: SRD bins for fix srd are not cubic enough The bin shape is not within tolerance of cubic. See the cubic keyword if you want this message to be an error vs warning. W: SRD bins for fix srd are not cubic enough The bin shape is not within tolerance of cubic. See the cubic keyword if you want this message to be an error vs warning. E: SRD bin size for fix srd differs from user request Fix SRD had to adjust the bin size to fit the simulation box. See the cubic keyword if you want this message to be an error vs warning. W: SRD bin size for fix srd differs from user request Fix SRD had to adjust the bin size to fit the simulation box. See the cubic keyword if you want this message to be an error vs warning. E: Fix srd lamda must be >= 0.6 of SRD grid size This is a requirement for accuracy reasons. W: SRD bin shifting turned on due to small lamda This is done to try to preserve accuracy. W: Fix srd grid size > 1/4 of big particle diameter This may cause accuracy problems. W: Fix srd viscosity < 0.0 due to low SRD density This may cause accuracy problems. W: Fix srd particles may move > big particle diameter This may cause accuracy problems. */ diff --git a/src/SRD/fix_wall_srd.h b/src/SRD/fix_wall_srd.h index 31cf15d66..b0f156077 100644 --- a/src/SRD/fix_wall_srd.h +++ b/src/SRD/fix_wall_srd.h @@ -1,93 +1,93 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(wall/srd,FixWallSRD) #else #ifndef LMP_FIX_WALL_SRD_H #define LMP_FIX_WALL_SRD_H #include "fix.h" namespace LAMMPS_NS { class FixWallSRD : public Fix { public: int nwall,varflag,overlap; int wallwhich[6]; double xwall[6],xwallhold[6],vwall[6]; double **fwall; FixWallSRD(class LAMMPS *, int, char **); ~FixWallSRD(); int setmask(); void init(); double compute_array(int, int); void wall_params(int); private: int wallstyle[6]; double coord0[6]; char *varstr[6]; int varindex[6]; double dt; double xwalllast[6]; bigint laststep; double **fwall_all; int force_flag; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Wall defined twice in fix wall/srd command Self-explanatory. E: Cannot use fix wall/srd in periodic dimension Self-explanatory. E: Cannot use fix wall/srd zlo/zhi for a 2d simulation Self-explanatory. E: Cannot use fix wall/srd without fix srd Self-explanatory. E: Variable name for fix wall/srd does not exist Self-explanatory. E: Variable for fix wall/srd is invalid style Only equal-style variables can be used. */ diff --git a/src/USER-AWPMD/atom_vec_wavepacket.h b/src/USER-AWPMD/atom_vec_wavepacket.h index fd8a29583..e43c093ca 100644 --- a/src/USER-AWPMD/atom_vec_wavepacket.h +++ b/src/USER-AWPMD/atom_vec_wavepacket.h @@ -1,111 +1,111 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- Contributing author: Ilya Valuev (JIHT RAS) ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(wavepacket,AtomVecWavepacket) #else #ifndef LMP_ATOM_VEC_WAVEPACKET_H #define LMP_ATOM_VEC_WAVEPACKET_H #include "atom_vec.h" namespace LAMMPS_NS { class AtomVecWavepacket : public AtomVec { public: AtomVecWavepacket(class LAMMPS *); ~AtomVecWavepacket() {} void grow(int); void grow_reset(); void copy(int, int, int); void force_clear(int, size_t); int pack_comm(int, int *, double *, int, int *); int pack_comm_vel(int, int *, double *, int, int *); int pack_comm_hybrid(int, int *, double *); void unpack_comm(int, int, double *); void unpack_comm_vel(int, int, double *); int unpack_comm_hybrid(int, int, double *); int pack_reverse(int, int, double *); int pack_reverse_hybrid(int, int, double *); void unpack_reverse(int, int *, double *); int unpack_reverse_hybrid(int, int *, double *); int pack_border(int, int *, double *, int, int *); int pack_border_vel(int, int *, double *, int, int *); int pack_border_hybrid(int, int *, double *); void unpack_border(int, int, double *); void unpack_border_vel(int, int, double *); int unpack_border_hybrid(int, int, double *); int pack_exchange(int, double *); int unpack_exchange(double *); int size_restart(); int pack_restart(int, double *); int unpack_restart(double *); void create_atom(int, double *); void data_atom(double *, imageint, char **); int data_atom_hybrid(int, char **); void data_vel(int, char **); int data_vel_hybrid(int, char **); void pack_data(double **); int pack_data_hybrid(int, double *); void write_data(FILE *, int, double **); int write_data_hybrid(FILE *, double *); void pack_vel(double **); int pack_vel_hybrid(int, double *); void write_vel(FILE *, int, double **); int write_vel_hybrid(FILE *, double *); int property_atom(char *); void pack_property_atom(int, double *, int, int); bigint memory_usage(); private: tagint *tag; int *type,*mask; imageint *image; double **x,**v,**f; ///\en spin: -1 or 1 for electron, 0 for ion (compatible with eff) int *spin; ///\en charge: must be specified in the corresponding units (-1 for electron in real units, eff compatible) double *q; ///\en width of the wavepacket (compatible with eff) double *eradius; ///\en width velocity for the wavepacket (compatible with eff) double *ervel; ///\en (generalized) force on width (compatible with eff) double *erforce; // AWPMD- specific: ///\en electron tag: must be the same for the WPs belonging to the same electron int *etag; ///\en wavepacket split coeffcients: cre, cim, size is 2*N double *cs; ///\en force on wavepacket split coeffcients: re, im, size is 2*N double *csforce; ///\en (generalized) force on velocity, size is 3*N double *vforce; ///\en (generalized) force on radius velocity, size is N double *ervelforce; }; } #endif #endif diff --git a/src/USER-AWPMD/fix_nve_awpmd.h b/src/USER-AWPMD/fix_nve_awpmd.h index 364196c1f..140d23430 100644 --- a/src/USER-AWPMD/fix_nve_awpmd.h +++ b/src/USER-AWPMD/fix_nve_awpmd.h @@ -1,54 +1,54 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- Contributing author: Ilya Valuev (JIHT RAS) ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nve/awpmd,FixNVEAwpmd) #else #ifndef LMP_FIX_NVE_awpmd_H #define LMP_FIX_NVE_awpmd_H #include "fix.h" #include "pair_awpmd_cut.h" namespace LAMMPS_NS { class FixNVEAwpmd : public Fix { public: FixNVEAwpmd(class LAMMPS *, int, char **); int setmask(); virtual void init(); virtual void initial_integrate(int); virtual void final_integrate(); void initial_integrate_respa(int, int, int); void final_integrate_respa(int, int); void reset_dt(); protected: double dtv,dtf; double *step_respa; int mass_require; PairAWPMDCut *awpmd_pair; }; } #endif #endif diff --git a/src/USER-AWPMD/pair_awpmd_cut.h b/src/USER-AWPMD/pair_awpmd_cut.h index 96a2b16fa..b07db3abb 100644 --- a/src/USER-AWPMD/pair_awpmd_cut.h +++ b/src/USER-AWPMD/pair_awpmd_cut.h @@ -1,81 +1,81 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- Contributing author: Ilya Valuev (JIHT RAS) ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(awpmd/cut,PairAWPMDCut) #else #ifndef LMP_PAIR_AWPMD_CUT_H #define LMP_PAIR_AWPMD_CUT_H #include "pair.h" class AWPMD_split; namespace LAMMPS_NS { class PairAWPMDCut : public Pair { friend class FixNVEAwpmd; public: PairAWPMDCut(class LAMMPS *); virtual ~PairAWPMDCut(); virtual void compute(int, int); virtual void settings(int, char **); void coeff(int, char **); void init_style(); void min_pointers(double **, double **); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); virtual void write_restart_settings(FILE *); virtual void read_restart_settings(FILE *); void min_xf_pointers(int, double **, double **); void min_xf_get(int); void min_x_set(int); double memory_usage(); private: int flexible_pressure_flag; double cut_global; double **cut; int nmax; // number of additional variables for minimizer double *min_var,*min_varforce; // additional variables for minimizer void allocate(); void virial_eradius_compute(); AWPMD_split *wpmd; // solver oblect double ermscale; // scale of width mass for motion double width_pbc; // setting for width pbc double half_box_length; // calculated by coeff function }; } #endif #endif diff --git a/src/USER-CUDA/atom_vec_angle_cuda.h b/src/USER-CUDA/atom_vec_angle_cuda.h index f89b4b4bf..13913da1c 100644 --- a/src/USER-CUDA/atom_vec_angle_cuda.h +++ b/src/USER-CUDA/atom_vec_angle_cuda.h @@ -1,69 +1,69 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(angle/cuda,AtomVecAngleCuda) #else #ifndef LMP_ATOM_VEC_ANGLE_CUDA_H #define LMP_ATOM_VEC_ANGLE_CUDA_H #include "atom_vec_angle.h" #include "cuda_data.h" namespace LAMMPS_NS { class AtomVecAngleCuda : public AtomVecAngle { public: AtomVecAngleCuda(class LAMMPS *); virtual ~AtomVecAngleCuda() {} void grow_copylist(int n); void grow_send(int n,double** buf_send,int flag); void grow_both(int n); int pack_comm(int, int *, double *, int, int *); int pack_comm_vel(int, int *, double *, int, int *); void unpack_comm(int, int, double *); void unpack_comm_vel(int, int, double *); int pack_reverse(int, int, double *); void unpack_reverse(int, int *, double *); int pack_border(int, int *, double *, int, int *); int pack_border_vel(int, int *, double *, int, int *); void unpack_border(int, int, double *); void unpack_border_vel(int, int, double *); int pack_exchange(int, double *); int unpack_exchange(double *); private: class Cuda *cuda; bool cuda_init_done; int* copylist; int* copylist2; cCudaData* cu_copylist; int max_nsend; }; } #endif #endif diff --git a/src/USER-CUDA/atom_vec_atomic_cuda.h b/src/USER-CUDA/atom_vec_atomic_cuda.h index 1260971c4..dabbd9a21 100644 --- a/src/USER-CUDA/atom_vec_atomic_cuda.h +++ b/src/USER-CUDA/atom_vec_atomic_cuda.h @@ -1,81 +1,81 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(atomic/cuda,AtomVecAtomicCuda) #else #ifndef LMP_ATOM_VEC_ATOMIC_CUDA_H #define LMP_ATOM_VEC_ATOMIC_CUDA_H #include "atom_vec_atomic.h" #include "cuda_data.h" namespace LAMMPS_NS { class AtomVecAtomicCuda : public AtomVecAtomic { public: AtomVecAtomicCuda(class LAMMPS *); virtual ~AtomVecAtomicCuda() {} void grow_copylist(int n); void grow_send(int n,double** buf_send,int flag); void grow_both(int n); int pack_comm(int, int *, double *, int, int *); int pack_comm_vel(int, int *, double *, int, int *); void unpack_comm(int, int, double *); void unpack_comm_vel(int, int, double *); int pack_reverse(int, int, double *); void unpack_reverse(int, int *, double *); int pack_border(int, int *, double *, int, int *); int pack_border_vel(int, int *, double *, int, int *); void unpack_border(int, int, double *); void unpack_border_vel(int, int, double *); int pack_exchange(int, double *); int unpack_exchange(double *); private: class Cuda *cuda; bool cuda_init_done; int* copylist; int* copylist2; cCudaData* cu_copylist; int max_nsend; }; } #endif #endif diff --git a/src/USER-CUDA/atom_vec_charge_cuda.h b/src/USER-CUDA/atom_vec_charge_cuda.h index b1bbabb0d..25d431c91 100644 --- a/src/USER-CUDA/atom_vec_charge_cuda.h +++ b/src/USER-CUDA/atom_vec_charge_cuda.h @@ -1,69 +1,69 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(charge/cuda,AtomVecChargeCuda) #else #ifndef LMP_ATOM_VEC_CHARGE_CUDA_H #define LMP_ATOM_VEC_CHARGE_CUDA_H #include "atom_vec_charge.h" #include "cuda_data.h" namespace LAMMPS_NS { class AtomVecChargeCuda : public AtomVecCharge { public: AtomVecChargeCuda(class LAMMPS *); virtual ~AtomVecChargeCuda() {} void grow_copylist(int n); void grow_send(int n,double** buf_send,int flag); void grow_both(int n); int pack_comm(int, int *, double *, int, int *); int pack_comm_vel(int, int *, double *, int, int *); void unpack_comm(int, int, double *); void unpack_comm_vel(int, int, double *); int pack_reverse(int, int, double *); void unpack_reverse(int, int *, double *); int pack_border(int, int *, double *, int, int *); int pack_border_vel(int, int *, double *, int, int *); void unpack_border(int, int, double *); void unpack_border_vel(int, int, double *); int pack_exchange(int, double *); int unpack_exchange(double *); private: class Cuda *cuda; bool cuda_init_done; int* copylist; int* copylist2; cCudaData* cu_copylist; int max_nsend; }; } #endif #endif diff --git a/src/USER-CUDA/atom_vec_full_cuda.h b/src/USER-CUDA/atom_vec_full_cuda.h index 958077744..4ce1b24a5 100644 --- a/src/USER-CUDA/atom_vec_full_cuda.h +++ b/src/USER-CUDA/atom_vec_full_cuda.h @@ -1,69 +1,69 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(full/cuda,AtomVecFullCuda) #else #ifndef LMP_ATOM_VEC_FULL_CUDA_H #define LMP_ATOM_VEC_FULL_CUDA_H #include "atom_vec_full.h" #include "cuda_data.h" namespace LAMMPS_NS { class AtomVecFullCuda : public AtomVecFull { public: AtomVecFullCuda(class LAMMPS *); virtual ~AtomVecFullCuda() {} void grow_copylist(int n); void grow_send(int n,double** buf_send,int flag); void grow_both(int n); int pack_comm(int, int *, double *, int, int *); int pack_comm_vel(int, int *, double *, int, int *); void unpack_comm(int, int, double *); void unpack_comm_vel(int, int, double *); int pack_reverse(int, int, double *); void unpack_reverse(int, int *, double *); int pack_border(int, int *, double *, int, int *); int pack_border_vel(int, int *, double *, int, int *); void unpack_border(int, int, double *); void unpack_border_vel(int, int, double *); int pack_exchange(int, double *); int unpack_exchange(double *); private: class Cuda *cuda; bool cuda_init_done; int* copylist; int* copylist2; cCudaData* cu_copylist; int max_nsend; }; } #endif #endif diff --git a/src/USER-CUDA/comm_cuda.h b/src/USER-CUDA/comm_cuda.h index 290e0dbb9..e3c0e9959 100644 --- a/src/USER-CUDA/comm_cuda.h +++ b/src/USER-CUDA/comm_cuda.h @@ -1,69 +1,69 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_COMM_CUDA_H #define LMP_COMM_CUDA_H #include "pointers.h" #include "cuda_data.h" #include "comm_brick.h" namespace LAMMPS_NS { class CommCuda : public CommBrick { public: CommCuda(class LAMMPS *); ~CommCuda(); virtual void init(); virtual void setup(); // setup 3d communication pattern virtual void forward_comm(int mode=0); // forward communication of atom coords virtual void forward_comm_cuda(); virtual void forward_comm_pack_cuda(); virtual void forward_comm_transfer_cuda(); virtual void forward_comm_unpack_cuda(); virtual void forward_comm_pair(Pair *pair); virtual void reverse_comm(); // reverse communication of forces virtual void exchange(); // move atoms to new procs virtual void exchange_cuda(); // move atoms to new procs virtual void borders(); // setup list of atoms to communicate virtual void borders_cuda(); // setup list of atoms to communicate virtual void borders_cuda_overlap_forward_comm(); virtual void forward_comm_fix(class Fix *); // forward comm from a Fix protected: class Cuda *cuda; cCudaData* cu_pbc; cCudaData* cu_slablo; cCudaData* cu_slabhi; cCudaData* cu_multilo; cCudaData* cu_multihi; cCudaData* cu_sendlist; virtual void grow_send(int,int); // reallocate send buffer virtual void grow_recv(int); // free/allocate recv buffer virtual void grow_list(int, int); // reallocate one sendlist virtual void grow_swap(int); // grow swap and multi arrays virtual void allocate_swap(int); // allocate swap arrays virtual void allocate_multi(int); // allocate multi arrays virtual void free_swap(); // free swap arrays virtual void free_multi(); // free multi arrays }; } #endif diff --git a/src/USER-CUDA/compute_pe_cuda.h b/src/USER-CUDA/compute_pe_cuda.h index 11bb16368..bc8b05776 100644 --- a/src/USER-CUDA/compute_pe_cuda.h +++ b/src/USER-CUDA/compute_pe_cuda.h @@ -1,59 +1,59 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(pe/cuda,ComputePECuda) #else #ifndef LMP_COMPUTE_PE_CUDA_H #define LMP_COMPUTE_PE_CUDA_H #include "compute_pe.h" namespace LAMMPS_NS { class ComputePECuda : public ComputePE { public: ComputePECuda(class LAMMPS *, int, char **); ~ComputePECuda() {} }; } #endif #endif diff --git a/src/USER-CUDA/compute_pressure_cuda.h b/src/USER-CUDA/compute_pressure_cuda.h index f08fbde97..af4809170 100644 --- a/src/USER-CUDA/compute_pressure_cuda.h +++ b/src/USER-CUDA/compute_pressure_cuda.h @@ -1,63 +1,63 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(pressure/cuda,ComputePressureCuda) #else #ifndef LMP_COMPUTE_PRESSURE_CUDA_H #define LMP_COMPUTE_PRESSURE_CUDA_H #include "compute_pressure.h" namespace LAMMPS_NS { class ComputePressureCuda : public ComputePressure { public: ComputePressureCuda(class LAMMPS *, int, char **); ~ComputePressureCuda() {} double compute_scalar(); void compute_vector(); private: class Cuda *cuda; }; } #endif #endif diff --git a/src/USER-CUDA/compute_temp_cuda.h b/src/USER-CUDA/compute_temp_cuda.h index 887134bad..54b3338c0 100644 --- a/src/USER-CUDA/compute_temp_cuda.h +++ b/src/USER-CUDA/compute_temp_cuda.h @@ -1,76 +1,76 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(temp/cuda,ComputeTempCuda) #else #ifndef LMP_COMPUTE_TEMP_CUDA_H #define LMP_COMPUTE_TEMP_CUDA_H #include "compute.h" #include "cuda_data.h" namespace LAMMPS_NS { class ComputeTempCuda : public Compute { public: ComputeTempCuda(class LAMMPS *, int, char **); ~ComputeTempCuda(); void init() {} void setup(); double compute_scalar(); void compute_vector(); private: class Cuda *cuda; int fix_dof; double tfactor; void dof_compute(); double t_vector[6]; double t_scalar; cCudaData* cu_t_scalar; cCudaData* cu_t_vector; }; } #endif #endif diff --git a/src/USER-CUDA/compute_temp_partial_cuda.h b/src/USER-CUDA/compute_temp_partial_cuda.h index a72dcaf95..320bf1785 100644 --- a/src/USER-CUDA/compute_temp_partial_cuda.h +++ b/src/USER-CUDA/compute_temp_partial_cuda.h @@ -1,84 +1,84 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(temp/partial/cuda,ComputeTempPartialCuda) #else #ifndef LMP_COMPUTE_TEMP_PARTIAL_CUDA_H #define LMP_COMPUTE_TEMP_PARTIAL_CUDA_H #include "compute.h" #include "cuda_data.h" namespace LAMMPS_NS { class ComputeTempPartialCuda : public Compute { public: ComputeTempPartialCuda(class LAMMPS *, int, char **); ~ComputeTempPartialCuda(); void init() {} void setup(); double compute_scalar(); void compute_vector(); int dof_remove(int); void remove_bias(int, double *); void remove_bias_all(); void restore_bias(int, double *); void restore_bias_all(); double memory_usage(); private: class Cuda *cuda; int xflag,yflag,zflag; int fix_dof; double tfactor; void dof_compute(); double t_vector[6]; double t_scalar; cCudaData* cu_t_scalar; cCudaData* cu_t_vector; cCudaData* cu_vbiasall; }; } #endif #endif diff --git a/src/USER-CUDA/cuda_data.h b/src/USER-CUDA/cuda_data.h index 988f3c2d4..bb778c12d 100644 --- a/src/USER-CUDA/cuda_data.h +++ b/src/USER-CUDA/cuda_data.h @@ -1,796 +1,796 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifndef _CUDA_DATA_H_ #define _CUDA_DATA_H_ enum copy_mode {x, xx, xy, yx, xyz, xzy}; // yxz, yzx, zxy, zyx not yet implemented since they were not needed yet //xx==x in atom_vec x is a member therefore copymode x produces compile errors #include "cuda_shared.h" #include "cuda_wrapper_cu.h" #include "cuda_data_cu.h" #include #include #include template class cCudaData { protected: void** buffer; int* buf_size; host_type* host_data; dev_array* dev_data_array; dev_type* temp_data; unsigned nbytes; bool owns_dev_array; bool current_data_on_device; //this is not yet working as intended and therefore deactivated bool current_data_on_host; bool is_continues; bool pinned; public: cCudaData(host_type* host_data, dev_array* dev_data_array, unsigned dim_x, unsigned dim_y=0, unsigned dim_z=0, bool is_pinned=false); cCudaData(host_type* host_data, unsigned dim_x, unsigned dim_y=0, unsigned dim_z=0, bool is_pinned=false); ~cCudaData(); void* dev_data() {if(dev_data_array!=NULL) return dev_data_array->dev_data; else return NULL;}; void set_dev_data(void* adev_data) {dev_data_array->dev_data=adev_data;}; void set_dev_array(dev_array* adev_array) {dev_data_array=adev_array;}; void set_host_data(host_type* host_data); void* get_host_data() { return host_data;}; void set_buffer(void** buffer,int* buf_size,bool ais_continues); unsigned int* get_dim() {return dev_data_array->dim;}; // if you want to upload data to the gpu, which will not change there, then set will_be_changed=false // if you want to upload data to the gpu and update it there, then set will_be_changed=true (default) void upload(bool will_be_changed=true); void uploadAsync(int stream, bool will_be_changed=true ); // if you want to download data just to have a look at it, then set will_be_changed=false // if you are going to modify the downloaded data, then set will_be_changed=true (default) void download(bool will_be_changed=true); void downloadAsync(int stream); void memset_device(int value); void device_data_has_changed() {current_data_on_device=false;} void host_data_has_changed() {current_data_on_host=false;} int dev_size() { int size = dev_data_array->dim[0]*sizeof(dev_type); if(dev_data_array->dim[1]) size*=dev_data_array->dim[1]; if(dev_data_array->dim[2]) size*=dev_data_array->dim[2]; return size;} }; template cCudaData ::cCudaData(host_type* host_data, dev_array* dev_data_array, unsigned dim_x, unsigned dim_y, unsigned dim_z, bool is_pinned) { pinned=is_pinned; owns_dev_array = false; current_data_on_device = false; current_data_on_host = false; is_continues = false; this->host_data = host_data; this->dev_data_array = dev_data_array; unsigned ndev; if((mode == x)||(mode==xx)) { ndev = dim_x; dev_data_array->dim[0] = dim_x; dev_data_array->dim[1] = 0; dev_data_array->dim[2] = 0; } else if(mode == xy || mode == yx ) { ndev = dim_x * dim_y; dev_data_array->dim[0] = dim_x; dev_data_array->dim[1] = dim_y; dev_data_array->dim[2] = 0; } else { ndev = dim_x * dim_y * dim_z; dev_data_array->dim[0] = dim_x; dev_data_array->dim[1] = dim_y; dev_data_array->dim[2] = dim_z; } nbytes = ndev * sizeof(dev_type); if(nbytes<=0) { host_data=NULL; temp_data=NULL; dev_data_array->dev_data=NULL; return; } dev_data_array->dev_data = CudaWrapper_AllocCudaData(nbytes); if(((mode!=x)&&(mode!=xx)) || typeid(host_type) != typeid(dev_type)) { if(not pinned) temp_data = new dev_type[ndev]; else { temp_data = (dev_type*) CudaWrapper_AllocPinnedHostData(ndev*sizeof(dev_type)); } } } template cCudaData ::cCudaData(host_type* host_data, unsigned dim_x, unsigned dim_y, unsigned dim_z, bool is_pinned) { pinned=is_pinned; this->dev_data_array = new dev_array; this->owns_dev_array = true; current_data_on_device = false; current_data_on_host = false; is_continues = false; this->host_data = host_data; unsigned ndev; if((mode == x)||(mode==xx)) { ndev = dim_x; dev_data_array->dim[0] = dim_x; dev_data_array->dim[1] = 0; dev_data_array->dim[2] = 0; } else if(mode == xy || mode == yx ) { ndev = dim_x * dim_y; dev_data_array->dim[0] = dim_x; dev_data_array->dim[1] = dim_y; dev_data_array->dim[2] = 0; } else { ndev = dim_x * dim_y * dim_z; dev_data_array->dim[0] = dim_x; dev_data_array->dim[1] = dim_y; dev_data_array->dim[2] = dim_z; } nbytes = ndev * sizeof(dev_type); if(nbytes<=0) { host_data=NULL; temp_data=NULL; dev_data_array->dev_data=NULL; return; } dev_data_array->dev_data = CudaWrapper_AllocCudaData(nbytes); if(((mode!=x)&&(mode!=xx)) || (typeid(host_type) != typeid(dev_type))) { if(not pinned) temp_data = new dev_type[ndev]; else { temp_data = (dev_type*) CudaWrapper_AllocPinnedHostData(ndev*sizeof(dev_type)); } } } template cCudaData ::~cCudaData() { if(((mode!=x)&&(mode!=xx)) || typeid(host_type) != typeid(dev_type)) { if(not pinned) delete [] temp_data; else { CudaWrapper_FreePinnedHostData((void*)temp_data); } } if((dev_data_array->dev_data)&&(nbytes>0)) CudaWrapper_FreeCudaData(dev_data_array->dev_data,nbytes); if(owns_dev_array) delete dev_data_array; } template void cCudaData ::set_host_data(host_type* host_data) { this->host_data = host_data; } template void cCudaData ::upload(bool will_be_changed) { // if current data is already up, do not re-upload it // if(current_data_on_device) return; if(buffer&&is_continues) { printf("Actual Buffer: %p %i\n",*buffer,*buf_size); if(typeid(host_type)==typeid(double)) { if(typeid(dev_type)==typeid(double)) { CudaData_Upload_DoubleDouble((void*) host_data,dev_data_array->dev_data, dev_data_array->dim,mode,*buffer); current_data_on_device = true; if(will_be_changed) current_data_on_host = false; return; } else if(typeid(dev_type)==typeid(float)) { CudaData_Upload_DoubleFloat((void*) host_data,dev_data_array->dev_data, dev_data_array->dim,mode,*buffer); current_data_on_device = true; if(will_be_changed) current_data_on_host = false; return; } } else if(typeid(host_type)==typeid(float)) { if(typeid(dev_type)==typeid(double)) { CudaData_Upload_FloatDouble((void*) host_data,dev_data_array->dev_data, dev_data_array->dim,mode,*buffer); current_data_on_device = true; if(will_be_changed) current_data_on_host = false; return; } else if(typeid(dev_type)==typeid(float)) { CudaData_Upload_FloatFloat((void*) host_data,dev_data_array->dev_data, dev_data_array->dim,mode,*buffer); current_data_on_device = true; if(will_be_changed) current_data_on_host = false; return; } } else if(typeid(host_type)==typeid(int)) { if(typeid(dev_type)==typeid(int)) { CudaData_Upload_IntInt((void*) host_data,dev_data_array->dev_data, dev_data_array->dim,mode,*buffer); current_data_on_device = true; if(will_be_changed) current_data_on_host = false; return; } } } switch(mode) { case x: { if(typeid(host_type) == typeid(dev_type)) CudaWrapper_UploadCudaData(host_data, dev_data_array->dev_data, nbytes); else { timespec time1,time2; my_gettime(CLOCK_REALTIME,&time1); for(unsigned i=0; idim[0]; ++i) temp_data[i] = static_cast(host_data[i]); my_gettime(CLOCK_REALTIME,&time2); CudaWrapper_AddCPUBufUploadTime( time2.tv_sec-time1.tv_sec+1.0*(time2.tv_nsec-time1.tv_nsec)/1000000000); CudaWrapper_UploadCudaData(temp_data, dev_data_array->dev_data, nbytes); } break; } case xx: { if(typeid(host_type) == typeid(dev_type)) CudaWrapper_UploadCudaData(host_data, dev_data_array->dev_data, nbytes); else { timespec time1,time2; my_gettime(CLOCK_REALTIME,&time1); for(unsigned i=0; idim[0]; ++i) temp_data[i] = static_cast(host_data[i]); my_gettime(CLOCK_REALTIME,&time2); CudaWrapper_AddCPUBufUploadTime( time2.tv_sec-time1.tv_sec+1.0*(time2.tv_nsec-time1.tv_nsec)/1000000000); CudaWrapper_UploadCudaData(temp_data, dev_data_array->dev_data, nbytes); } break; } case xy: { timespec time1,time2; my_gettime(CLOCK_REALTIME,&time1); for(unsigned i=0; idim[0]; ++i) { dev_type* temp = &temp_data[i * dev_data_array->dim[1]]; for(unsigned j=0; jdim[1]; ++j) { temp[j] = static_cast((reinterpret_cast(host_data))[i][j]); } } my_gettime(CLOCK_REALTIME,&time2); CudaWrapper_AddCPUBufUploadTime( time2.tv_sec-time1.tv_sec+1.0*(time2.tv_nsec-time1.tv_nsec)/1000000000); CudaWrapper_UploadCudaData(temp_data, dev_data_array->dev_data, nbytes); break; } case yx: { timespec time1,time2; my_gettime(CLOCK_REALTIME,&time1); for(unsigned j=0; jdim[1]; ++j) { dev_type* temp = &temp_data[j*dev_data_array->dim[0]]; for(unsigned i=0; idim[0]; ++i) { temp[i] = static_cast(reinterpret_cast(host_data)[i][j]); } } my_gettime(CLOCK_REALTIME,&time2); CudaWrapper_AddCPUBufUploadTime( time2.tv_sec-time1.tv_sec+1.0*(time2.tv_nsec-time1.tv_nsec)/1000000000); CudaWrapper_UploadCudaData(temp_data, dev_data_array->dev_data, nbytes); break; } case xyz: { timespec time1,time2; my_gettime(CLOCK_REALTIME,&time1); for(unsigned i=0; idim[0]; ++i) for(unsigned j=0; jdim[1]; ++j) { dev_type* temp = &temp_data[(i*dev_data_array->dim[1]+j)*dev_data_array->dim[2]]; for(unsigned k=0; kdim[2]; ++k) { temp[k] = static_cast(reinterpret_cast(host_data)[i][j][k]); } } my_gettime(CLOCK_REALTIME,&time2); CudaWrapper_AddCPUBufUploadTime( time2.tv_sec-time1.tv_sec+1.0*(time2.tv_nsec-time1.tv_nsec)/1000000000); CudaWrapper_UploadCudaData(temp_data, dev_data_array->dev_data, nbytes); break; } case xzy: { timespec time1,time2; my_gettime(CLOCK_REALTIME,&time1); for(unsigned i=0; idim[0]; ++i) for(unsigned k=0; kdim[2]; ++k) { dev_type* temp = &temp_data[(i*dev_data_array->dim[2]+k)*dev_data_array->dim[1]]; for(unsigned j=0; jdim[1]; ++j) { temp[j] = static_cast(reinterpret_cast(host_data)[i][j][k]); } } my_gettime(CLOCK_REALTIME,&time2); CudaWrapper_AddCPUBufUploadTime( time2.tv_sec-time1.tv_sec+1.0*(time2.tv_nsec-time1.tv_nsec)/1000000000); CudaWrapper_UploadCudaData(temp_data, dev_data_array->dev_data, nbytes); break; } } // we have uploaded the data to the device, i.e.: current_data_on_device = true; // the data is going to change on the device, making the host data out-dated if(will_be_changed) current_data_on_host = false; } template void cCudaData ::uploadAsync(int stream,bool will_be_changed) { // if current data is already up, do not re-upload it // if(current_data_on_device) return; if(buffer&&is_continues) { printf("Actual Buffer: %p %i\n",*buffer,*buf_size); if(typeid(host_type)==typeid(double)) { if(typeid(dev_type)==typeid(double)) { CudaData_Upload_DoubleDouble((void*) host_data,dev_data_array->dev_data, dev_data_array->dim,mode,*buffer); current_data_on_device = true; if(will_be_changed) current_data_on_host = false; return; } else if(typeid(dev_type)==typeid(float)) { CudaData_Upload_DoubleFloat((void*) host_data,dev_data_array->dev_data, dev_data_array->dim,mode,*buffer); current_data_on_device = true; if(will_be_changed) current_data_on_host = false; return; } } else if(typeid(host_type)==typeid(float)) { if(typeid(dev_type)==typeid(double)) { CudaData_Upload_FloatDouble((void*) host_data,dev_data_array->dev_data, dev_data_array->dim,mode,*buffer); current_data_on_device = true; if(will_be_changed) current_data_on_host = false; return; } else if(typeid(dev_type)==typeid(float)) { CudaData_Upload_FloatFloat((void*) host_data,dev_data_array->dev_data, dev_data_array->dim,mode,*buffer); current_data_on_device = true; if(will_be_changed) current_data_on_host = false; return; } } else if(typeid(host_type)==typeid(int)) { if(typeid(dev_type)==typeid(int)) { CudaData_Upload_IntInt((void*) host_data,dev_data_array->dev_data, dev_data_array->dim,mode,*buffer); current_data_on_device = true; if(will_be_changed) current_data_on_host = false; return; } } } switch(mode) { case x: { if(typeid(host_type) == typeid(dev_type)) CudaWrapper_UploadCudaDataAsync(host_data, dev_data_array->dev_data, nbytes,stream); else { timespec time1,time2; my_gettime(CLOCK_REALTIME,&time1); for(unsigned i=0; idim[0]; ++i) temp_data[i] = static_cast(host_data[i]); my_gettime(CLOCK_REALTIME,&time2); CudaWrapper_AddCPUBufUploadTime( time2.tv_sec-time1.tv_sec+1.0*(time2.tv_nsec-time1.tv_nsec)/1000000000); CudaWrapper_UploadCudaDataAsync(temp_data, dev_data_array->dev_data, nbytes,stream); } break; } case xx: { if(typeid(host_type) == typeid(dev_type)) CudaWrapper_UploadCudaDataAsync(host_data, dev_data_array->dev_data, nbytes,stream); else { timespec time1,time2; my_gettime(CLOCK_REALTIME,&time1); for(unsigned i=0; idim[0]; ++i) temp_data[i] = static_cast(host_data[i]); my_gettime(CLOCK_REALTIME,&time2); CudaWrapper_AddCPUBufUploadTime( time2.tv_sec-time1.tv_sec+1.0*(time2.tv_nsec-time1.tv_nsec)/1000000000); CudaWrapper_UploadCudaDataAsync(temp_data, dev_data_array->dev_data, nbytes,stream); } break; } case xy: { timespec time1,time2; my_gettime(CLOCK_REALTIME,&time1); for(unsigned i=0; idim[0]; ++i) { dev_type* temp = &temp_data[i * dev_data_array->dim[1]]; for(unsigned j=0; jdim[1]; ++j) { temp[j] = static_cast((reinterpret_cast(host_data))[i][j]); } } my_gettime(CLOCK_REALTIME,&time2); CudaWrapper_AddCPUBufUploadTime( time2.tv_sec-time1.tv_sec+1.0*(time2.tv_nsec-time1.tv_nsec)/1000000000); CudaWrapper_UploadCudaDataAsync(temp_data, dev_data_array->dev_data, nbytes,stream); break; } case yx: { timespec time1,time2; my_gettime(CLOCK_REALTIME,&time1); for(unsigned j=0; jdim[1]; ++j) { dev_type* temp = &temp_data[j*dev_data_array->dim[0]]; for(unsigned i=0; idim[0]; ++i) { temp[i] = static_cast(reinterpret_cast(host_data)[i][j]); } } my_gettime(CLOCK_REALTIME,&time2); CudaWrapper_AddCPUBufUploadTime( time2.tv_sec-time1.tv_sec+1.0*(time2.tv_nsec-time1.tv_nsec)/1000000000); CudaWrapper_UploadCudaDataAsync(temp_data, dev_data_array->dev_data, nbytes,stream); break; } case xyz: { timespec time1,time2; my_gettime(CLOCK_REALTIME,&time1); for(unsigned i=0; idim[0]; ++i) for(unsigned j=0; jdim[1]; ++j) { dev_type* temp = &temp_data[(i*dev_data_array->dim[1]+j)*dev_data_array->dim[2]]; for(unsigned k=0; kdim[2]; ++k) { temp[k] = static_cast(reinterpret_cast(host_data)[i][j][k]); } } my_gettime(CLOCK_REALTIME,&time2); CudaWrapper_AddCPUBufUploadTime( time2.tv_sec-time1.tv_sec+1.0*(time2.tv_nsec-time1.tv_nsec)/1000000000); CudaWrapper_UploadCudaDataAsync(temp_data, dev_data_array->dev_data, nbytes,stream); break; } case xzy: { timespec time1,time2; my_gettime(CLOCK_REALTIME,&time1); for(unsigned i=0; idim[0]; ++i) for(unsigned k=0; kdim[2]; ++k) { dev_type* temp = &temp_data[(i*dev_data_array->dim[2]+k)*dev_data_array->dim[1]]; for(unsigned j=0; jdim[1]; ++j) { temp[j] = static_cast(reinterpret_cast(host_data)[i][j][k]); } } my_gettime(CLOCK_REALTIME,&time2); CudaWrapper_AddCPUBufUploadTime( time2.tv_sec-time1.tv_sec+1.0*(time2.tv_nsec-time1.tv_nsec)/1000000000); CudaWrapper_UploadCudaDataAsync(temp_data, dev_data_array->dev_data, nbytes,stream); break; } } // we have uploaded the data to the device, i.e.: current_data_on_device = true; // the data is going to change on the device, making the host data out-dated if(will_be_changed) current_data_on_host = false; } template void cCudaData ::download(bool will_be_changed) { // if current data is already down, do not re-download it // if(current_data_on_host) return; switch(mode) { case x: { if(typeid(host_type) == typeid(dev_type)) CudaWrapper_DownloadCudaData(host_data, dev_data_array->dev_data, nbytes); else { CudaWrapper_DownloadCudaData(temp_data, dev_data_array->dev_data, nbytes); timespec time1,time2; my_gettime(CLOCK_REALTIME,&time1); for(unsigned i=0; idim[0]; ++i) host_data[i] = static_cast(temp_data[i]); my_gettime(CLOCK_REALTIME,&time2); CudaWrapper_AddCPUBufDownloadTime( time2.tv_sec-time1.tv_sec+1.0*(time2.tv_nsec-time1.tv_nsec)/1000000000); } break; } case xx: { if(typeid(host_type) == typeid(dev_type)) CudaWrapper_DownloadCudaData(host_data, dev_data_array->dev_data, nbytes); else { CudaWrapper_DownloadCudaData(temp_data, dev_data_array->dev_data, nbytes); timespec time1,time2; my_gettime(CLOCK_REALTIME,&time1); for(unsigned i=0; idim[0]; ++i) host_data[i] = static_cast(temp_data[i]); my_gettime(CLOCK_REALTIME,&time2); CudaWrapper_AddCPUBufDownloadTime( time2.tv_sec-time1.tv_sec+1.0*(time2.tv_nsec-time1.tv_nsec)/1000000000); } break; } case xy: { CudaWrapper_DownloadCudaData(temp_data, dev_data_array->dev_data, nbytes); timespec time1,time2; my_gettime(CLOCK_REALTIME,&time1); for(unsigned i=0; idim[0]; ++i) { dev_type* temp = &temp_data[i * dev_data_array->dim[1]]; for(unsigned j=0; jdim[1]; ++j) { reinterpret_cast(host_data)[i][j] = static_cast(temp[j]); } } my_gettime(CLOCK_REALTIME,&time2); CudaWrapper_AddCPUBufDownloadTime( time2.tv_sec-time1.tv_sec+1.0*(time2.tv_nsec-time1.tv_nsec)/1000000000); break; } case yx: { CudaWrapper_DownloadCudaData(temp_data, dev_data_array->dev_data, nbytes); timespec time1,time2; my_gettime(CLOCK_REALTIME,&time1); for(unsigned j=0; jdim[1]; ++j) { dev_type* temp = &temp_data[j*dev_data_array->dim[0]]; for(unsigned i=0; idim[0]; ++i) { reinterpret_cast(host_data)[i][j] = static_cast(temp[i]); } } my_gettime(CLOCK_REALTIME,&time2); CudaWrapper_AddCPUBufDownloadTime( time2.tv_sec-time1.tv_sec+1.0*(time2.tv_nsec-time1.tv_nsec)/1000000000); break; } case xyz: { CudaWrapper_DownloadCudaData(temp_data, dev_data_array->dev_data, nbytes); timespec time1,time2; my_gettime(CLOCK_REALTIME,&time1); for(unsigned i=0; idim[0]; ++i) for(unsigned j=0; jdim[1]; ++j) { dev_type* temp = &temp_data[(i * dev_data_array->dim[1]+j)*dev_data_array->dim[2]]; for(unsigned k=0; kdim[2]; ++k) { reinterpret_cast(host_data)[i][j][k] = static_cast(temp[k]); } } my_gettime(CLOCK_REALTIME,&time2); CudaWrapper_AddCPUBufDownloadTime( time2.tv_sec-time1.tv_sec+1.0*(time2.tv_nsec-time1.tv_nsec)/1000000000); break; } case xzy: { CudaWrapper_DownloadCudaData(temp_data, dev_data_array->dev_data, nbytes); timespec time1,time2; my_gettime(CLOCK_REALTIME,&time1); for(unsigned i=0; idim[0]; ++i) for(unsigned k=0; kdim[2]; ++k) { dev_type* temp = &temp_data[(i * dev_data_array->dim[2]+k)*dev_data_array->dim[1]]; for(unsigned j=0; jdim[1]; ++j) { reinterpret_cast(host_data)[i][j][k] = static_cast(temp[j]); } } my_gettime(CLOCK_REALTIME,&time2); CudaWrapper_AddCPUBufDownloadTime( time2.tv_sec-time1.tv_sec+1.0*(time2.tv_nsec-time1.tv_nsec)/1000000000); break; } } // we have downloaded the data to the host, i.e.: current_data_on_host = true; // the data is going to change on the host, making the device data out-dated if(will_be_changed) current_data_on_device = false; } template void cCudaData ::downloadAsync(int stream) { switch(mode) { case x: { if(typeid(host_type) == typeid(dev_type)) { CudaWrapper_DownloadCudaDataAsync(host_data, dev_data_array->dev_data, nbytes, stream); CudaWrapper_SyncStream(stream); } else { CudaWrapper_DownloadCudaDataAsync(temp_data, dev_data_array->dev_data, nbytes, stream); CudaWrapper_SyncStream(stream); for(unsigned i=0; idim[0]; ++i) host_data[i] = static_cast(temp_data[i]); } break; } case xx: { if(typeid(host_type) == typeid(dev_type)) { CudaWrapper_DownloadCudaDataAsync(host_data, dev_data_array->dev_data, nbytes, stream); CudaWrapper_SyncStream(stream); } else { CudaWrapper_DownloadCudaDataAsync(temp_data, dev_data_array->dev_data, nbytes, stream); CudaWrapper_SyncStream(stream); for(unsigned i=0; idim[0]; ++i) host_data[i] = static_cast(temp_data[i]); } break; } case xy: { CudaWrapper_DownloadCudaDataAsync(temp_data, dev_data_array->dev_data, nbytes, stream); CudaWrapper_SyncStream(stream); for(unsigned i=0; idim[0]; ++i) { dev_type* temp = &temp_data[i * dev_data_array->dim[1]]; for(unsigned j=0; jdim[1]; ++j) { reinterpret_cast(host_data)[i][j] = static_cast(temp[j]); } } break; } case yx: { CudaWrapper_DownloadCudaDataAsync(temp_data, dev_data_array->dev_data, nbytes, stream); CudaWrapper_SyncStream(stream); for(unsigned j=0; jdim[1]; ++j) { dev_type* temp = &temp_data[j*dev_data_array->dim[0]]; for(unsigned i=0; idim[0]; ++i) { reinterpret_cast(host_data)[i][j] = static_cast(temp[i]); } } break; } } } template void cCudaData ::memset_device(int value) { CudaWrapper_Memset(dev_data_array->dev_data,value, nbytes); } template void cCudaData ::set_buffer(void** abuffer,int* abuf_size,bool ais_continues) { buffer = abuffer; buf_size = abuf_size; unsigned nbytes_buf=(nbytes/sizeof(dev_type))*sizeof(host_type); if(buffer!=NULL) if(not((typeid(host_type) == typeid(dev_type))&&(mode == x || mode == xx))) { printf("Allocate Buffer: %p %i\n",*buffer,*buf_size); if(((*buffer)!=NULL)&&(*buf_size* cu_ilist; cCudaData* cu_numneigh; cCudaData* cu_inum_border; cCudaData* cu_ilist_border; cCudaData* cu_numneigh_border; cCudaData* cu_numneigh_inner; cCudaData* cu_neighbors; cCudaData* cu_neighbors_border; cCudaData* cu_neighbors_inner; cCudaData* cu_ex_type; cCudaData* cu_ex1_bit; cCudaData* cu_ex2_bit; cCudaData* cu_ex_mol_bit; cuda_shared_neighlist sneighlist; int* neighbors; int* neighbors_inner; int* neighbors_border; int inum_border; int* ilist_border; int* numneigh_border; int* numneigh_inner; int nex_type; int nex_group; int nex_mol; bool build_cuda; CudaNeighList(class LAMMPS *, class NeighList* neigh_list); ~CudaNeighList(); void grow_device(); // will grow pages memory on device, keeping old pages. will grow lists memory on device, deleting old lists void nl_upload(bool will_be_changed=true); void nl_download(bool will_be_changed=true); NeighList* neigh_list; void dev_alloc(); void dev_free(); private: class Cuda *cuda; }; } #endif diff --git a/src/USER-CUDA/domain_cuda.h b/src/USER-CUDA/domain_cuda.h index 7d0186ee7..56cb1d422 100644 --- a/src/USER-CUDA/domain_cuda.h +++ b/src/USER-CUDA/domain_cuda.h @@ -1,41 +1,41 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_DOMAIN_CUDA_H #define LMP_DOMAIN_CUDA_H #include "pointers.h" #include "domain.h" namespace LAMMPS_NS { class DomainCuda : public Domain { public: DomainCuda(class LAMMPS *); void init(); void set_global_box(); void set_lamda_box(); void set_local_box(); void reset_box(); void pbc(); void lamda2x(int); void x2lamda(int); protected: class Cuda *cuda; }; } #endif diff --git a/src/USER-CUDA/fft3d_cuda.h b/src/USER-CUDA/fft3d_cuda.h index 5ec3871bb..059ac977f 100644 --- a/src/USER-CUDA/fft3d_cuda.h +++ b/src/USER-CUDA/fft3d_cuda.h @@ -1,148 +1,148 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ // User-settable FFT precision // FFT_PRECISION = 1 is single-precision complex (4-byte real, 4-byte imag) // FFT_PRECISION = 2 is double-precision complex (8-byte real, 8-byte imag) #include "cuda_precision.h" //#define FFT_PRECISION 2 // ------------------------------------------------------------------------- // Data types for single-precision complex #if FFT_PRECISION_CU == 1 #ifdef FFT_CUFFT #include "cuda_runtime.h" #include "cufft.h" typedef struct { float re; float im; } FFT_DATA; typedef cufftComplex cufftData; typedef cufftReal cufftDataInit; #define cufft cufftExecC2C #define cufftinit cufftExecR2C #define CUFFT_PLAN CUFFT_C2C #define CUFFT_PLAN_INIT CUFFT_R2C #else typedef struct { float re; float im; } FFT_DATA; #endif #endif // ------------------------------------------------------------------------- // Data types for double-precision complex #if FFT_PRECISION_CU == 2 #ifdef FFT_CUFFT #include "cuda_runtime.h" #include "cufft.h" typedef cufftDoubleComplex cufftData; typedef cufftDoubleReal cufftDataInit; typedef struct { double re; double im; } FFT_DATA; #define cufft cufftExecZ2Z #define cufftinit cufftExecD2Z #define CUFFT_PLAN CUFFT_Z2Z #define CUFFT_PLAN_INIT CUFFT_D2Z #endif #endif // ------------------------------------------------------------------------- // details of how to do a 3d FFT struct fft_plan_3d { struct remap_plan_3d *pre_plan; // remap from input -> 1st FFTs struct remap_plan_3d *mid1_plan; // remap from 1st -> 2nd FFTs struct remap_plan_3d *mid2_plan; // remap from 2nd -> 3rd FFTs struct remap_plan_3d *post_plan; // remap from 3rd FFTs -> output FFT_DATA *copy; // memory for remap results (if needed) FFT_DATA *scratch; // scratch space for remaps int total1,total2,total3; // # of 1st,2nd,3rd FFTs (times length) int length1,length2,length3; // length of 1st,2nd,3rd FFTs int pre_target; // where to put remap results int mid1_target,mid2_target; int scaled; // whether to scale FFT results int normnum; // # of values to rescale double norm; // normalization factor for rescaling double coretime; double ffttime; int iterate; // system specific 1d FFT info #ifdef FFT_CUFFT //CUdeviceptr cudata; cufftData* cudata; cufftData* cudata2; unsigned int cudatasize; cufftHandle plan_fast; cufftHandle plan_mid; cufftHandle plan_slow; cufftHandle plan_3d; int nfast; int nmid; int nslow; int ihi_out,ilo_out,jhi_out,jlo_out,khi_out,klo_out; int me,nprocs; #endif int init; }; // function prototypes void fft_3d_destroy_plan_cuda(struct fft_plan_3d *); void factor_cuda(int, int *, int *); void bifactor_cuda(int, int *, int *); void fft_1d_only_cuda(FFT_DATA *, int, int, struct fft_plan_3d *); void fft_3d_cudaA(FFT_DATA *, FFT_DATA *, int, struct fft_plan_3d *); void fft_3d_cuda(FFT_DATA *, FFT_DATA *, int, struct fft_plan_3d *); struct fft_plan_3d *fft_3d_create_plan_cuda(MPI_Comm, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int *,bool init); diff --git a/src/USER-CUDA/fft3d_wrap_cuda.h b/src/USER-CUDA/fft3d_wrap_cuda.h index 1d3680fac..cc6baa9eb 100644 --- a/src/USER-CUDA/fft3d_wrap_cuda.h +++ b/src/USER-CUDA/fft3d_wrap_cuda.h @@ -1,68 +1,68 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef FFT3D_WRAP_CUDA_H_ #define FFT3D_WRAP_CUDA_H_ #include "pointers.h" #ifdef FFT_CUFFT #include "fft3d_cuda.h" #endif #ifndef FFT_CUFFT #include "fft3d.h" #endif namespace LAMMPS_NS { class FFT3dCuda : protected Pointers { public: FFT3dCuda(class LAMMPS *, MPI_Comm,int,int,int,int,int,int,int,int,int, int,int,int,int,int,int,int,int,int *,bool); ~FFT3dCuda(); void compute(double *, double *, int); void timing1d(double *, int, int); #ifdef FFT_CUFFT void set_cudata(void* cudata,void* cudata2); #endif private: struct fft_plan_3d *plan; }; } #endif /*FFT3D_WRAP_CUDA_H_*/ diff --git a/src/USER-CUDA/fix_addforce_cuda.h b/src/USER-CUDA/fix_addforce_cuda.h index 8c7a1c608..043cae6d2 100644 --- a/src/USER-CUDA/fix_addforce_cuda.h +++ b/src/USER-CUDA/fix_addforce_cuda.h @@ -1,64 +1,64 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(addforce/cuda,FixAddForceCuda) #else #ifndef LMP_FIX_ADD_FORCE_CUDA_H #define LMP_FIX_ADD_FORCE_CUDA_H #include "fix.h" #include "cuda_data.h" namespace LAMMPS_NS { class FixAddForceCuda : public Fix { public: FixAddForceCuda(class LAMMPS *, int, char **); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); double compute_scalar(); double compute_vector(int); private: class Cuda *cuda; int iregion; double xvalue,yvalue,zvalue; double foriginal[4],foriginal_all[4]; cCudaData* cu_foriginal; int force_flag; int nlevels_respa; }; } #endif #endif diff --git a/src/USER-CUDA/fix_aveforce_cuda.h b/src/USER-CUDA/fix_aveforce_cuda.h index e6ce81704..07dfdb4e5 100644 --- a/src/USER-CUDA/fix_aveforce_cuda.h +++ b/src/USER-CUDA/fix_aveforce_cuda.h @@ -1,69 +1,69 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(aveforce/cuda,FixAveForceCuda) #else #ifndef LMP_FIX_AVE_FORCE_CUDA_H #define LMP_FIX_AVE_FORCE_CUDA_H #include "fix.h" #include "cuda_data.h" namespace LAMMPS_NS { class FixAveForceCuda : public Fix { public: FixAveForceCuda(class LAMMPS *, int, char **); ~FixAveForceCuda(); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); double compute_vector(int); private: class Cuda *cuda; char *xstr,*ystr,*zstr; int iregion; double xvalue,yvalue,zvalue; double foriginal_all[4]; double foriginal[4]; cCudaData* cu_foriginal; int nlevels_respa; int varflag; int xvar,yvar,zvar,xstyle,ystyle,zstyle; }; } #endif #endif diff --git a/src/USER-CUDA/fix_enforce2d_cuda.h b/src/USER-CUDA/fix_enforce2d_cuda.h index c8b01e6be..63bf289d9 100644 --- a/src/USER-CUDA/fix_enforce2d_cuda.h +++ b/src/USER-CUDA/fix_enforce2d_cuda.h @@ -1,55 +1,55 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(enforce2d/cuda,FixEnforce2DCuda) #else #ifndef LMP_FIX_ENFORCE2D_CUDA_H #define LMP_FIX_ENFORCE2D_CUDA_H #include "fix.h" namespace LAMMPS_NS { class FixEnforce2DCuda : public Fix { public: FixEnforce2DCuda(class LAMMPS *, int, char **); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); private: class Cuda *cuda; }; } #endif #endif diff --git a/src/USER-CUDA/fix_freeze_cuda.h b/src/USER-CUDA/fix_freeze_cuda.h index 552d0123f..9f6a1a99f 100644 --- a/src/USER-CUDA/fix_freeze_cuda.h +++ b/src/USER-CUDA/fix_freeze_cuda.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(freeze/cuda,FixFreezeCuda) #else #ifndef LMP_FIX_FREEZE_CUDA_H #define LMP_FIX_FREEZE_CUDA_H #include "fix.h" #include "cuda_data.h" namespace LAMMPS_NS { class FixFreezeCuda : public Fix { public: FixFreezeCuda(class LAMMPS *, int, char **); int setmask(); void init(); void setup(int); void post_force(int); double compute_vector(int); private: class Cuda *cuda; double foriginal[3],foriginal_all[3]; cCudaData* cu_foriginal; int force_flag; }; } #endif #endif diff --git a/src/USER-CUDA/fix_gravity_cuda.h b/src/USER-CUDA/fix_gravity_cuda.h index 23d0b2102..98d258666 100644 --- a/src/USER-CUDA/fix_gravity_cuda.h +++ b/src/USER-CUDA/fix_gravity_cuda.h @@ -1,60 +1,60 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(gravity/cuda,FixGravityCuda) #else #ifndef LMP_FIX_GRAVITY_CUDA_H #define LMP_FIX_GRAVITY_CUDA_H #include "fix.h" #include "cuda_data.h" namespace LAMMPS_NS { class FixGravityCuda : public Fix { public: FixGravityCuda(class LAMMPS *, int, char **); int setmask(); void init(); void setup(int); void post_force(int); private: class Cuda *cuda; int style; double magnitude,dt; double phi,theta,phigrad,thetagrad; double xdir,ydir,zdir; double xgrav,ygrav,zgrav,xacc,yacc,zacc; double degree2rad; int time_origin; }; } #endif #endif diff --git a/src/USER-CUDA/fix_nh_cuda.h b/src/USER-CUDA/fix_nh_cuda.h index 79bfc98c4..3cb97873c 100644 --- a/src/USER-CUDA/fix_nh_cuda.h +++ b/src/USER-CUDA/fix_nh_cuda.h @@ -1,126 +1,126 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_FIX_NH_CUDA_H #define LMP_FIX_NH_CUDA_H #include "fix.h" #include "cuda_precision.h" namespace LAMMPS_NS { class FixNHCuda : public Fix { public: FixNHCuda(class LAMMPS *, int, char **); virtual ~FixNHCuda(); int setmask(); virtual void init(); void setup(int); virtual void initial_integrate(int); virtual void final_integrate(); void initial_integrate_respa(int, int, int); void final_integrate_respa(int, int); double compute_scalar(); double compute_vector(int); void write_restart(FILE *); void restart(char *); int modify_param(int, char **); void reset_dt(); protected: class Cuda *cuda; int dimension,which; double dtv,dtf,dthalf,dt4,dt8,dto; double boltz,nktv2p,tdof; double vol0,t0; double t_start,t_stop; double t_current,t_target; double t_freq; int tstat_flag; // 1 if control T int pstat_flag; // 1 if control P int pstyle,pcouple,allremap; int p_flag[6]; // 1 if control P on this dim, 0 if not double p_start[6],p_stop[6]; double p_freq[6],p_target[6]; double omega[6],omega_dot[6]; double omega_mass[6]; double p_current[6],dilation[6]; double drag,tdrag_factor; // drag factor on particle thermostat double pdrag_factor; // drag factor on barostat double factor[6]; // velocity scaling due to barostat int kspace_flag; // 1 if KSpace invoked, 0 if not int nrigid; // number of rigid fixes int *rfix; // indices of rigid fixes int nlevels_respa; double *step_respa; char *id_temp,*id_press; class Compute *temperature,*pressure; int tflag,pflag; double *eta,*eta_dot; // chain thermostat for particles double *eta_dotdot; double *eta_mass; int mtchain; // length of chain double *etap; // chain thermostat for barostat double *etap_dot; double *etap_dotdot; double *etap_mass; int mpchain; // length of chain int mtk_flag; // 0 if using Hoover barostat double mtk_term1,mtk_term2; int mtchain_default_flag; int pdim; // number of barostatted dims double mvv_current[3]; // diagonal of KE tensor double mtk_factor; // MTK factor double p_freq_max; // maximum barostat frequency double p_hydro; // hydrostatic target pressure int nc_tchain,nc_pchain; double factor_eta; double sigma[6]; // scaled target stress double fdev[6]; // deviatoric force on barostat int deviatoric_flag; // 0 if target stress tensor is hydrostatic double h0_inv[6]; // h_inv of reference (zero strain) box int nreset_h0; // interval for resetting h0 void couple(); void couple_ke(); void remap(); void nhc_temp_integrate(); void nhc_press_integrate(); virtual void nve_x(); // may be overwritten by child classes virtual void nve_v(); virtual void nh_v_press(); virtual void nh_v_temp(); void compute_sigma(); void compute_deviatoric(); double compute_strain_energy(); void compute_press_target(); void nh_omega_dot(); X_CFLOAT triggerneighsq; }; } #endif diff --git a/src/USER-CUDA/fix_npt_cuda.h b/src/USER-CUDA/fix_npt_cuda.h index 37ff8ffc5..e10efb6a9 100644 --- a/src/USER-CUDA/fix_npt_cuda.h +++ b/src/USER-CUDA/fix_npt_cuda.h @@ -1,36 +1,36 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(npt/cuda,FixNPTCuda) #else #ifndef LMP_FIX_NPTCuda_H #define LMP_FIX_NPTCuda_H #include "fix_nh_cuda.h" namespace LAMMPS_NS { class FixNPTCuda : public FixNHCuda { public: FixNPTCuda(class LAMMPS *, int, char **); ~FixNPTCuda() {} }; } #endif #endif diff --git a/src/USER-CUDA/fix_nve_cuda.h b/src/USER-CUDA/fix_nve_cuda.h index a21e393b6..090d327db 100644 --- a/src/USER-CUDA/fix_nve_cuda.h +++ b/src/USER-CUDA/fix_nve_cuda.h @@ -1,63 +1,63 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nve/cuda,FixNVECuda) #else #ifndef LMP_FIX_NVE_CUDA_H #define LMP_FIX_NVE_CUDA_H #include "fix.h" #include "cuda_precision.h" namespace LAMMPS_NS { class FixNVECuda : public Fix { public: FixNVECuda(class LAMMPS *, int, char **); int setmask(); virtual void init(); virtual void initial_integrate(int); virtual void final_integrate(); void initial_integrate_respa(int, int, int); void final_integrate_respa(int, int); void reset_dt(); X_CFLOAT triggerneighsq; protected: class Cuda *cuda; double dtv, dtf; double *step_respa; int mass_require; }; } #endif #endif diff --git a/src/USER-CUDA/fix_nvt_cuda.h b/src/USER-CUDA/fix_nvt_cuda.h index 227dbf6a9..65f38e05d 100644 --- a/src/USER-CUDA/fix_nvt_cuda.h +++ b/src/USER-CUDA/fix_nvt_cuda.h @@ -1,36 +1,36 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nvt/cuda,FixNVTCuda) #else #ifndef LMP_FIX_NVTCuda_H #define LMP_FIX_NVTCuda_H #include "fix_nh_cuda.h" namespace LAMMPS_NS { class FixNVTCuda : public FixNHCuda { public: FixNVTCuda(class LAMMPS *, int, char **); ~FixNVTCuda() {} }; } #endif #endif diff --git a/src/USER-CUDA/fix_set_force_cuda.h b/src/USER-CUDA/fix_set_force_cuda.h index 217e51c8a..a195aec0e 100644 --- a/src/USER-CUDA/fix_set_force_cuda.h +++ b/src/USER-CUDA/fix_set_force_cuda.h @@ -1,63 +1,63 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(setforce/cuda,FixSetForceCuda) #else #ifndef LMP_FIX_SET_FORCE_CUDA_H #define LMP_FIX_SET_FORCE_CUDA_H #include "fix.h" #include "cuda_data.h" namespace LAMMPS_NS { class FixSetForceCuda : public Fix { public: FixSetForceCuda(class LAMMPS *, int, char **); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); double compute_vector(int); private: class Cuda *cuda; int flagx,flagy,flagz; double xvalue,yvalue,zvalue; double foriginal[3],foriginal_all[3]; cCudaData* cu_foriginal; int force_flag; int nlevels_respa; }; } #endif #endif diff --git a/src/USER-CUDA/fix_shake_cuda.h b/src/USER-CUDA/fix_shake_cuda.h index 7107e6306..03b2d79da 100644 --- a/src/USER-CUDA/fix_shake_cuda.h +++ b/src/USER-CUDA/fix_shake_cuda.h @@ -1,132 +1,132 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(shake/cuda,FixShakeCuda) #else #ifndef LMP_FIX_SHAKE_CUDA_H #define LMP_FIX_SHAKE_CUDA_H #include "fix.h" #include "cuda_data.h" #include "cuda_precision.h" namespace LAMMPS_NS { class FixShakeCuda : public Fix { public: FixShakeCuda(class LAMMPS *, int, char **); ~FixShakeCuda(); int setmask(); void init(); void setup(int); void pre_neighbor(); void post_force(int); //void post_force_respa(int, int, int); double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); void set_arrays(int); int pack_exchange(int, double *); int unpack_exchange(int, double *); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); int dof(int); void reset_dt(); double time_postforce; private: class Cuda *cuda; int me,nprocs; double tolerance; // SHAKE tolerance int max_iter; // max # of SHAKE iterations int output_every; // SHAKE stat output every so often int next_output; // timestep for next output // settings from input command int *bond_flag,*angle_flag; // bond/angle types to constrain int *type_flag; // constrain bonds to these types double *mass_list; // constrain bonds to these masses int nmass; // # of masses in mass_list bool neighbor_step; // was neighboring done in this step -> need to run the Cuda_FixShake_Init double *bond_distance,*angle_distance; // constraint distances cCudaData* cu_bond_distance; cCudaData* cu_angle_distance; int ifix_respa; // rRESPA fix needed by SHAKE int nlevels_respa; // copies of needed rRESPA variables int *loop_respa; double *step_respa; double **x,**v,**f; // local ptrs to atom class quantities double *mass,*rmass; int *type; int nlocal; // atom-based arrays int *shake_flag; // 0 if atom not in SHAKE cluster // 1 = size 3 angle cluster // 2,3,4 = size of bond-only cluster int **shake_atom; // global IDs of atoms in cluster // central atom is 1st // lowest global ID is 1st for size 2 int **shake_type; // bondtype of each bond in cluster // for angle cluster, 3rd value // is angletype double **xshake; // unconstrained atom coords cCudaData* cu_shake_flag; cCudaData* cu_shake_atom; cCudaData* cu_shake_type; cCudaData* cu_xshake; cCudaData* cu_list; cCudaData* cu_virial; int* countoccur; int vflag; // virial flag double dtv,dtfsq; // timesteps for trial move double dtf_inner,dtf_innerhalf; // timesteps for rRESPA trial move int *list; // list of clusters to SHAKE int nlist,maxlist; // size and max-size of list // stat quantities int *b_count,*b_count_all; // counts for each bond type double *b_ave,*b_max,*b_min; // ave/max/min dist for each bond type double *b_ave_all,*b_max_all,*b_min_all; // MPI summing arrays int *a_count,*a_count_all; // ditto for angle types double *a_ave,*a_max,*a_min; double *a_ave_all,*a_max_all,*a_min_all; void find_clusters(); void swap_clusters(int i,int j); int masscheck(double); void unconstrained_update(); void shake2(int); void shake3(int); void shake4(int); void shake3angle(int); void stats(); int bondfind(int, int, int); int anglefind(int, int, int); }; } #endif #endif diff --git a/src/USER-CUDA/fix_temp_berendsen_cuda.h b/src/USER-CUDA/fix_temp_berendsen_cuda.h index 076d24181..610e5421e 100644 --- a/src/USER-CUDA/fix_temp_berendsen_cuda.h +++ b/src/USER-CUDA/fix_temp_berendsen_cuda.h @@ -1,58 +1,58 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(temp/berendsen/cuda,FixTempBerendsenCuda) #else #ifndef LMP_FIX_TEMP_BERENDSEN_CUDA_H #define LMP_FIX_TEMP_BERENDSEN_CUDA_H #include "fix.h" namespace LAMMPS_NS { class FixTempBerendsenCuda : public Fix { public: FixTempBerendsenCuda(class LAMMPS *, int, char **); ~FixTempBerendsenCuda(); int setmask(); void init(); void end_of_step(); int modify_param(int, char **); void reset_target(double); private: class Cuda *cuda; int which; double t_start,t_stop,t_target,t_period; char *id_temp; class Compute *temperature; int tflag; }; } #endif #endif diff --git a/src/USER-CUDA/fix_temp_rescale_cuda.h b/src/USER-CUDA/fix_temp_rescale_cuda.h index 8e7fedfde..3bdc71a1a 100644 --- a/src/USER-CUDA/fix_temp_rescale_cuda.h +++ b/src/USER-CUDA/fix_temp_rescale_cuda.h @@ -1,61 +1,61 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(temp/rescale/cuda,FixTempRescaleCuda) #else #ifndef FIX_TEMP_RESCALE_CUDA_H #define FIX_TEMP_RESCALE_CUDA_H #include "fix.h" namespace LAMMPS_NS { class FixTempRescaleCuda : public Fix { public: FixTempRescaleCuda(class LAMMPS *, int, char **); ~FixTempRescaleCuda(); int setmask(); void init(); void end_of_step(); int modify_param(int, char **); void reset_target(double); double compute_scalar(); private: class Cuda *cuda; int which; double t_start,t_stop,t_window; double fraction,energy,efactor; char *id_temp; class Compute *temperature; int tflag; }; } #endif #endif diff --git a/src/USER-CUDA/fix_temp_rescale_limit_cuda.h b/src/USER-CUDA/fix_temp_rescale_limit_cuda.h index de3ccffe3..b2bba2049 100644 --- a/src/USER-CUDA/fix_temp_rescale_limit_cuda.h +++ b/src/USER-CUDA/fix_temp_rescale_limit_cuda.h @@ -1,61 +1,61 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(temp/rescale/limit/cuda,FixTempRescaleLimitCuda) #else #ifndef FIX_TEMP_RESCALE_LIMIT_CUDA_H #define FIX_TEMP_RESCALE_LIMIT_CUDA_H #include "fix.h" namespace LAMMPS_NS { class FixTempRescaleLimitCuda : public Fix { public: FixTempRescaleLimitCuda(class LAMMPS *, int, char **); ~FixTempRescaleLimitCuda(); int setmask(); void init(); void end_of_step(); int modify_param(int, char **); void reset_target(double); double compute_scalar(); private: class Cuda *cuda; int which; double t_start,t_stop,t_window; double fraction,energy,efactor; double limit; char *id_temp; class Compute *temperature; int tflag; }; } #endif #endif diff --git a/src/USER-CUDA/fix_viscous_cuda.h b/src/USER-CUDA/fix_viscous_cuda.h index 6f18b932b..e0cb6ba4b 100644 --- a/src/USER-CUDA/fix_viscous_cuda.h +++ b/src/USER-CUDA/fix_viscous_cuda.h @@ -1,55 +1,55 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(viscous/cuda,FixViscousCuda) #else #ifndef LMP_FIX_VISCOUS_CUDA_H #define LMP_FIX_VISCOUS_CUDA_H #include "fix_viscous.h" #include "cuda_data.h" namespace LAMMPS_NS { class FixViscousCuda : public FixViscous { public: FixViscousCuda(class LAMMPS *, int, char **); ~FixViscousCuda(); int setmask(); void setup(int); void min_setup(int); void post_force(int); cCudaData* cu_gamma; private: class Cuda *cuda; }; } #endif #endif diff --git a/src/USER-CUDA/neighbor_cuda.h b/src/USER-CUDA/neighbor_cuda.h index da90381d0..708f45fde 100644 --- a/src/USER-CUDA/neighbor_cuda.h +++ b/src/USER-CUDA/neighbor_cuda.h @@ -1,39 +1,39 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_NEIGHBOR_CUDA_H #define LMP_NEIGHBOR_CUDA_H #include "neighbor.h" namespace LAMMPS_NS { class NeighborCuda : public Neighbor { public: NeighborCuda(class LAMMPS *); void init(); int check_distance(); void build(int do_build_bonded=1); private: class Cuda *cuda; void choose_build(int, class NeighRequest *); typedef void (NeighborCuda::*PairPtr)(class NeighList *); void full_nsq_cuda(class NeighList *); void full_bin_cuda(class NeighList *); }; } #endif diff --git a/src/USER-CUDA/pair_born_coul_long_cuda.h b/src/USER-CUDA/pair_born_coul_long_cuda.h index 497c2d533..6e4f42cf3 100644 --- a/src/USER-CUDA/pair_born_coul_long_cuda.h +++ b/src/USER-CUDA/pair_born_coul_long_cuda.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(born/coul/long/cuda,PairBornCoulLongCuda) #else #ifndef LMP_PAIR_BORN_COUL_LONG_CUDA_H #define LMP_PAIR_BORN_COUL_LONG_CUDA_H #include "pair_born_coul_long.h" namespace LAMMPS_NS { class PairBornCoulLongCuda : public PairBornCoulLong { public: PairBornCoulLongCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; }; } #endif #endif diff --git a/src/USER-CUDA/pair_buck_coul_cut_cuda.h b/src/USER-CUDA/pair_buck_coul_cut_cuda.h index c766eede1..f66b70fb0 100644 --- a/src/USER-CUDA/pair_buck_coul_cut_cuda.h +++ b/src/USER-CUDA/pair_buck_coul_cut_cuda.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(buck/coul/cut/cuda,PairBuckCoulCutCuda) #else #ifndef LMP_PAIR_BUCK_COUL_CUT_CUDA_H #define LMP_PAIR_BUCK_COUL_CUT_CUDA_H #include "pair_buck_coul_cut.h" namespace LAMMPS_NS { class PairBuckCoulCutCuda : public PairBuckCoulCut { public: PairBuckCoulCutCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; }; } #endif #endif diff --git a/src/USER-CUDA/pair_buck_coul_long_cuda.h b/src/USER-CUDA/pair_buck_coul_long_cuda.h index e9ef8b3e4..41d4637d9 100644 --- a/src/USER-CUDA/pair_buck_coul_long_cuda.h +++ b/src/USER-CUDA/pair_buck_coul_long_cuda.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(buck/coul/long/cuda,PairBuckCoulLongCuda) #else #ifndef LMP_PAIR_BUCK_COUL_LONG_CUDA_H #define LMP_PAIR_BUCK_COUL_LONG_CUDA_H #include "pair_buck_coul_long.h" namespace LAMMPS_NS { class PairBuckCoulLongCuda : public PairBuckCoulLong { public: PairBuckCoulLongCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; }; } #endif #endif diff --git a/src/USER-CUDA/pair_buck_cuda.h b/src/USER-CUDA/pair_buck_cuda.h index 9ecb07d5b..9dfb742ed 100644 --- a/src/USER-CUDA/pair_buck_cuda.h +++ b/src/USER-CUDA/pair_buck_cuda.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(buck/cuda,PairBuckCuda) #else #ifndef LMP_PAIR_BUCK_CUDA_H #define LMP_PAIR_BUCK_CUDA_H #include "pair_buck.h" namespace LAMMPS_NS { class PairBuckCuda : public PairBuck { public: PairBuckCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; }; } #endif #endif diff --git a/src/USER-CUDA/pair_eam_alloy_cuda.h b/src/USER-CUDA/pair_eam_alloy_cuda.h index 27ddcb160..c46755d0f 100644 --- a/src/USER-CUDA/pair_eam_alloy_cuda.h +++ b/src/USER-CUDA/pair_eam_alloy_cuda.h @@ -1,44 +1,44 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(eam/alloy/cuda,PairEAMAlloyCuda) #else #ifndef LMP_PAIR_EAM_CUDA_ALLOY_H #define LMP_PAIR_EAM_CUDA_ALLOY_H #include "pair_eam_cuda.h" namespace LAMMPS_NS { // use virtual public since this class is parent in multiple inheritance class PairEAMAlloyCuda : virtual public PairEAMCuda { public: PairEAMAlloyCuda(class LAMMPS *); virtual ~PairEAMAlloyCuda() {} void coeff(int, char **); protected: class Cuda *cuda; void read_file(char *); void file2array(); }; } #endif #endif diff --git a/src/USER-CUDA/pair_eam_cuda.h b/src/USER-CUDA/pair_eam_cuda.h index fa8cfd802..27f0f45d2 100644 --- a/src/USER-CUDA/pair_eam_cuda.h +++ b/src/USER-CUDA/pair_eam_cuda.h @@ -1,80 +1,80 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(eam/cuda,PairEAMCuda) #else #ifndef PAIR_EAM_CUDA_H #define PAIR_EAM_CUDA_H #include "cuda_data.h" #include "pair_eam.h" namespace LAMMPS_NS { class PairEAMCuda : public PairEAM { public: PairEAMCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void array2spline(); int pack_forward_comm(int n, int *iswap, double *buf, int pbc_flag, int *pbc); void unpack_forward_comm(int n, int first, double *buf); protected: class Cuda *cuda; void allocate(); bool allocated2; virtual void ev_setup(int eflag, int vflag); class CudaNeighList* cuda_neigh_list; cCudaData* cu_rho; cCudaData* cu_fp; cCudaData* cu_rhor_spline; cCudaData* cu_z2r_spline; cCudaData* cu_frho_spline; }; } #endif #endif diff --git a/src/USER-CUDA/pair_eam_fs_cuda.h b/src/USER-CUDA/pair_eam_fs_cuda.h index a68501a0a..698b48587 100644 --- a/src/USER-CUDA/pair_eam_fs_cuda.h +++ b/src/USER-CUDA/pair_eam_fs_cuda.h @@ -1,44 +1,44 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(eam/fs/cuda,PairEAMFSCuda) #else #ifndef LMP_PAIR_EAM_FS_CUDA_H #define LMP_PAIR_EAM_FS_CUDA_H #include "pair_eam_cuda.h" namespace LAMMPS_NS { // use virtual public since this class is parent in multiple inheritance class PairEAMFSCuda : virtual public PairEAMCuda { public: PairEAMFSCuda(class LAMMPS *); virtual ~PairEAMFSCuda() {} void coeff(int, char **); protected: class Cuda *cuda; void read_file(char *); void file2array(); }; } #endif #endif diff --git a/src/USER-CUDA/pair_gran_hooke_cuda.h b/src/USER-CUDA/pair_gran_hooke_cuda.h index b2aee0f9d..6fa622ab4 100644 --- a/src/USER-CUDA/pair_gran_hooke_cuda.h +++ b/src/USER-CUDA/pair_gran_hooke_cuda.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(gran/hooke/cuda,PairGranHookeCuda) #else #ifndef PAIR_GRAN_HOOKE_CUDA_H #define PAIR_GRAN_HOOKE_CUDA_H #include "pair_gran_hooke.h" namespace LAMMPS_NS { class PairGranHookeCuda : public PairGranHooke { public: PairGranHookeCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; }; } #endif #endif diff --git a/src/USER-CUDA/pair_lj96_cut_cuda.h b/src/USER-CUDA/pair_lj96_cut_cuda.h index aeb02ca67..8a8f36e50 100644 --- a/src/USER-CUDA/pair_lj96_cut_cuda.h +++ b/src/USER-CUDA/pair_lj96_cut_cuda.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj96/cut/cuda,PairLJ96CutCuda) #else #ifndef PAIR_LJ96_CUT_CUDA_H #define PAIR_LJ96_CUT_CUDA_H #include "pair_lj96_cut.h" namespace LAMMPS_NS { class PairLJ96CutCuda : public PairLJ96Cut { public: PairLJ96CutCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; }; } #endif #endif diff --git a/src/USER-CUDA/pair_lj_charmm_coul_charmm_cuda.h b/src/USER-CUDA/pair_lj_charmm_coul_charmm_cuda.h index d0915d98f..c19411f03 100644 --- a/src/USER-CUDA/pair_lj_charmm_coul_charmm_cuda.h +++ b/src/USER-CUDA/pair_lj_charmm_coul_charmm_cuda.h @@ -1,63 +1,63 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/charmm/coul/charmm/cuda,PairLJCharmmCoulCharmmCuda) #else #ifndef LMP_PAIR_LJ_CHARMM_COUL_CHARMM_CUDA_H #define LMP_PAIR_LJ_CHARMM_COUL_CHARMM_CUDA_H #include "pair_lj_charmm_coul_charmm.h" #include "cuda_data.h" namespace LAMMPS_NS { class PairLJCharmmCoulCharmmCuda : public PairLJCharmmCoulCharmm { public: PairLJCharmmCoulCharmmCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; cCudaData* cu_lj1_gm; cCudaData* cu_lj2_gm; cCudaData* cu_lj3_gm; cCudaData* cu_lj4_gm; }; } #endif #endif diff --git a/src/USER-CUDA/pair_lj_charmm_coul_charmm_implicit_cuda.h b/src/USER-CUDA/pair_lj_charmm_coul_charmm_implicit_cuda.h index 16d42650a..b3cc8c933 100644 --- a/src/USER-CUDA/pair_lj_charmm_coul_charmm_implicit_cuda.h +++ b/src/USER-CUDA/pair_lj_charmm_coul_charmm_implicit_cuda.h @@ -1,62 +1,62 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/charmm/coul/charmm/implicit/cuda,PairLJCharmmCoulCharmmImplicitCuda) #else #ifndef LMP_PAIR_LJ_CHARMM_COUL_CHARMM_IMPLICIT_CUDA_H #define LMP_PAIR_LJ_CHARMM_COUL_CHARMM_IMPLICIT_CUDA_H #include "pair_lj_charmm_coul_charmm_implicit.h" #include "cuda_data.h" namespace LAMMPS_NS { class PairLJCharmmCoulCharmmImplicitCuda : public PairLJCharmmCoulCharmmImplicit { public: PairLJCharmmCoulCharmmImplicitCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; cCudaData* cu_lj1_gm; cCudaData* cu_lj2_gm; cCudaData* cu_lj3_gm; cCudaData* cu_lj4_gm; }; } #endif #endif diff --git a/src/USER-CUDA/pair_lj_charmm_coul_long_cuda.h b/src/USER-CUDA/pair_lj_charmm_coul_long_cuda.h index d8bae43ae..8d9048a34 100644 --- a/src/USER-CUDA/pair_lj_charmm_coul_long_cuda.h +++ b/src/USER-CUDA/pair_lj_charmm_coul_long_cuda.h @@ -1,62 +1,62 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/charmm/coul/long/cuda,PairLJCharmmCoulLongCuda) #else #ifndef LMP_PAIR_LJ_CHARMM_COUL_LONG_CUDA_H #define LMP_PAIR_LJ_CHARMM_COUL_LONG_CUDA_H #include "pair_lj_charmm_coul_long.h" #include "cuda_data.h" namespace LAMMPS_NS { class PairLJCharmmCoulLongCuda : public PairLJCharmmCoulLong { public: PairLJCharmmCoulLongCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; cCudaData* cu_lj1_gm; cCudaData* cu_lj2_gm; cCudaData* cu_lj3_gm; cCudaData* cu_lj4_gm; }; } #endif #endif diff --git a/src/USER-CUDA/pair_lj_class2_coul_cut_cuda.h b/src/USER-CUDA/pair_lj_class2_coul_cut_cuda.h index 0baf24942..6601e2797 100644 --- a/src/USER-CUDA/pair_lj_class2_coul_cut_cuda.h +++ b/src/USER-CUDA/pair_lj_class2_coul_cut_cuda.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/class2/coul/cut/cuda,PairLJClass2CoulCutCuda) #else #ifndef LMP_PAIR_LJ_CLASS2_COUL_CUT_CUDA_H #define LMP_PAIR_LJ_CLASS2_COUL_CUT_CUDA_H #include "pair_lj_class2_coul_cut.h" namespace LAMMPS_NS { class PairLJClass2CoulCutCuda : public PairLJClass2CoulCut { public: PairLJClass2CoulCutCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; }; } #endif #endif diff --git a/src/USER-CUDA/pair_lj_class2_coul_long_cuda.h b/src/USER-CUDA/pair_lj_class2_coul_long_cuda.h index 22ec5aa60..43af51b4e 100644 --- a/src/USER-CUDA/pair_lj_class2_coul_long_cuda.h +++ b/src/USER-CUDA/pair_lj_class2_coul_long_cuda.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/class2/coul/long/cuda,PairLJClass2CoulLongCuda) #else #ifndef LMP_PAIR_LJ_CLASS2_COUL_LONG_CUDA_H #define LMP_PAIR_LJ_CLASS2_COUL_LONG_CUDA_H #include "pair_lj_class2_coul_long.h" namespace LAMMPS_NS { class PairLJClass2CoulLongCuda : public PairLJClass2CoulLong { public: PairLJClass2CoulLongCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; }; } #endif #endif diff --git a/src/USER-CUDA/pair_lj_class2_cuda.h b/src/USER-CUDA/pair_lj_class2_cuda.h index 789fd7dcf..6f2673c4a 100644 --- a/src/USER-CUDA/pair_lj_class2_cuda.h +++ b/src/USER-CUDA/pair_lj_class2_cuda.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/class2/cuda,PairLJClass2Cuda) #else #ifndef PAIR_LJ_CLASS2_CUDA_H #define PAIR_LJ_CLASS2_CUDA_H #include "pair_lj_class2.h" namespace LAMMPS_NS { class PairLJClass2Cuda : public PairLJClass2 { public: PairLJClass2Cuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; }; } #endif #endif diff --git a/src/USER-CUDA/pair_lj_cut_coul_cut_cuda.h b/src/USER-CUDA/pair_lj_cut_coul_cut_cuda.h index 23fe8344d..10f44c76d 100644 --- a/src/USER-CUDA/pair_lj_cut_coul_cut_cuda.h +++ b/src/USER-CUDA/pair_lj_cut_coul_cut_cuda.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/coul/cut/cuda,PairLJCutCoulCutCuda) #else #ifndef LMP_PAIR_LJ_CUT_COUL_CUT_CUDA_H #define LMP_PAIR_LJ_CUT_COUL_CUT_CUDA_H #include "pair_lj_cut_coul_cut.h" namespace LAMMPS_NS { class PairLJCutCoulCutCuda : public PairLJCutCoulCut { public: PairLJCutCoulCutCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; }; } #endif #endif diff --git a/src/USER-CUDA/pair_lj_cut_coul_debye_cuda.h b/src/USER-CUDA/pair_lj_cut_coul_debye_cuda.h index 0f3ff9b1c..aea3a42f6 100644 --- a/src/USER-CUDA/pair_lj_cut_coul_debye_cuda.h +++ b/src/USER-CUDA/pair_lj_cut_coul_debye_cuda.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/coul/debye/cuda,PairLJCutCoulDebyeCuda) #else #ifndef LMP_PAIR_LJ_CUT_COUL_DEBYE_CUDA_H #define LMP_PAIR_LJ_CUT_COUL_DEBYE_CUDA_H #include "pair_lj_cut_coul_debye.h" namespace LAMMPS_NS { class PairLJCutCoulDebyeCuda : public PairLJCutCoulDebye { public: PairLJCutCoulDebyeCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; }; } #endif #endif diff --git a/src/USER-CUDA/pair_lj_cut_coul_long_cuda.h b/src/USER-CUDA/pair_lj_cut_coul_long_cuda.h index ca1d5fed9..2c7e55eb1 100644 --- a/src/USER-CUDA/pair_lj_cut_coul_long_cuda.h +++ b/src/USER-CUDA/pair_lj_cut_coul_long_cuda.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/coul/long/cuda,PairLJCutCoulLongCuda) #else #ifndef LMP_PAIR_LJ_CUT_COUL_LONG_CUDA_H #define LMP_PAIR_LJ_CUT_COUL_LONG_CUDA_H #include "pair_lj_cut_coul_long.h" namespace LAMMPS_NS { class PairLJCutCoulLongCuda : public PairLJCutCoulLong { public: PairLJCutCoulLongCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; }; } #endif #endif diff --git a/src/USER-CUDA/pair_lj_cut_cuda.h b/src/USER-CUDA/pair_lj_cut_cuda.h index 602a1e3d1..f42c7d04c 100644 --- a/src/USER-CUDA/pair_lj_cut_cuda.h +++ b/src/USER-CUDA/pair_lj_cut_cuda.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/cuda,PairLJCutCuda) #else #ifndef PAIR_LJ_CUT_CUDA_H #define PAIR_LJ_CUT_CUDA_H #include "pair_lj_cut.h" namespace LAMMPS_NS { class PairLJCutCuda : public PairLJCut { public: PairLJCutCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; }; } #endif #endif diff --git a/src/USER-CUDA/pair_lj_cut_experimental_cuda.h b/src/USER-CUDA/pair_lj_cut_experimental_cuda.h index 25cf38624..fafb2d63d 100644 --- a/src/USER-CUDA/pair_lj_cut_experimental_cuda.h +++ b/src/USER-CUDA/pair_lj_cut_experimental_cuda.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/experimental/cuda,PairLJCutExperimentalCuda) #else #ifndef PAIR_LJ_CUT_EXPERIMENTAL_CUDA_H #define PAIR_LJ_CUT_EXPERIMENTAL_CUDA_H #include "pair_lj_cut.h" namespace LAMMPS_NS { class PairLJCutExperimentalCuda : public PairLJCut { public: PairLJCutExperimentalCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; }; } #endif #endif diff --git a/src/USER-CUDA/pair_lj_expand_cuda.h b/src/USER-CUDA/pair_lj_expand_cuda.h index 4cc905a57..b61578c29 100644 --- a/src/USER-CUDA/pair_lj_expand_cuda.h +++ b/src/USER-CUDA/pair_lj_expand_cuda.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/expand/cuda,PairLJExpandCuda) #else #ifndef PAIR_LJ_EXPAND_CUDA_H #define PAIR_LJ_EXPAND_CUDA_H #include "pair_lj_expand.h" namespace LAMMPS_NS { class PairLJExpandCuda : public PairLJExpand { public: PairLJExpandCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; }; } #endif #endif diff --git a/src/USER-CUDA/pair_lj_gromacs_coul_gromacs_cuda.h b/src/USER-CUDA/pair_lj_gromacs_coul_gromacs_cuda.h index dcfbe1865..6e48df193 100644 --- a/src/USER-CUDA/pair_lj_gromacs_coul_gromacs_cuda.h +++ b/src/USER-CUDA/pair_lj_gromacs_coul_gromacs_cuda.h @@ -1,68 +1,68 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/gromacs/coul/gromacs/cuda,PairLJGromacsCoulGromacsCuda) #else #ifndef LMP_PAIR_LJ_GROMACS_COUL_GROMACS_CUDA_H #define LMP_PAIR_LJ_GROMACS_COUL_GROMACS_CUDA_H #include "pair_lj_gromacs_coul_gromacs.h" #include "cuda_data.h" namespace LAMMPS_NS { class PairLJGromacsCoulGromacsCuda : public PairLJGromacsCoulGromacs { public: PairLJGromacsCoulGromacsCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; cCudaData* cu_lj1_gm; cCudaData* cu_lj2_gm; cCudaData* cu_lj3_gm; cCudaData* cu_lj4_gm; cCudaData* cu_ljsw1_gm; cCudaData* cu_ljsw2_gm; cCudaData* cu_ljsw3_gm; cCudaData* cu_ljsw4_gm; cCudaData* cu_ljsw5_gm; }; } #endif #endif diff --git a/src/USER-CUDA/pair_lj_gromacs_cuda.h b/src/USER-CUDA/pair_lj_gromacs_cuda.h index 0bc6fcc7a..b4bbc15c6 100644 --- a/src/USER-CUDA/pair_lj_gromacs_cuda.h +++ b/src/USER-CUDA/pair_lj_gromacs_cuda.h @@ -1,68 +1,68 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/gromacs/cuda,PairLJGromacsCuda) #else #ifndef LMP_PAIR_LJ_GROMACS_CUDA_H #define LMP_PAIR_LJ_GROMACS_CUDA_H #include "pair_lj_gromacs.h" #include "cuda_data.h" namespace LAMMPS_NS { class PairLJGromacsCuda : public PairLJGromacs { public: PairLJGromacsCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; cCudaData* cu_lj1_gm; cCudaData* cu_lj2_gm; cCudaData* cu_lj3_gm; cCudaData* cu_lj4_gm; cCudaData* cu_ljsw1_gm; cCudaData* cu_ljsw2_gm; cCudaData* cu_ljsw3_gm; cCudaData* cu_ljsw4_gm; cCudaData* cu_ljsw5_gm; }; } #endif #endif diff --git a/src/USER-CUDA/pair_lj_sdk_coul_long_cuda.h b/src/USER-CUDA/pair_lj_sdk_coul_long_cuda.h index 78bc504d4..4b5c07c79 100644 --- a/src/USER-CUDA/pair_lj_sdk_coul_long_cuda.h +++ b/src/USER-CUDA/pair_lj_sdk_coul_long_cuda.h @@ -1,59 +1,59 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(cg/cmm/coul/long/cuda,PairLJSDKCoulLongCuda) PairStyle(lj/sdk/coul/long/cuda,PairLJSDKCoulLongCuda) #else #ifndef PAIR_LJ_SDK_COUL_LONG_CUDA_H #define PAIR_LJ_SDK_COUL_LONG_CUDA_H #include "pair_lj_sdk_coul_long.h" namespace LAMMPS_NS { class PairLJSDKCoulLongCuda : public PairLJSDKCoulLong { public: PairLJSDKCoulLongCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; double** lj_type_double; }; } #endif #endif diff --git a/src/USER-CUDA/pair_lj_sdk_cuda.h b/src/USER-CUDA/pair_lj_sdk_cuda.h index b3f5ee4f3..5e7807cbd 100644 --- a/src/USER-CUDA/pair_lj_sdk_cuda.h +++ b/src/USER-CUDA/pair_lj_sdk_cuda.h @@ -1,65 +1,65 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/sdk/cuda,PairLJSDKCuda) PairStyle(cg/cmm/cuda,PairLJSDKCuda) #else #ifndef PAIR_LJ_SDK_CUDA_H #define PAIR_LJ_SDK_CUDA_H #include "pair_lj_sdk.h" #include "cuda_data.h" namespace LAMMPS_NS { class PairLJSDKCuda : public PairLJSDK { public: PairLJSDKCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; double** lj_type_double; cCudaData* cu_lj1_gm; cCudaData* cu_lj2_gm; cCudaData* cu_lj3_gm; cCudaData* cu_lj4_gm; cCudaData* cu_lj_type_double_gm; }; } #endif #endif diff --git a/src/USER-CUDA/pair_lj_smooth_cuda.h b/src/USER-CUDA/pair_lj_smooth_cuda.h index d12f1fcdf..0a57e6f66 100644 --- a/src/USER-CUDA/pair_lj_smooth_cuda.h +++ b/src/USER-CUDA/pair_lj_smooth_cuda.h @@ -1,68 +1,68 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/smooth/cuda,PairLJSmoothCuda) #else #ifndef LMP_PAIR_LJ_SMOOTH_CUDA_H #define LMP_PAIR_LJ_SMOOTH_CUDA_H #include "pair_lj_smooth.h" #include "cuda_data.h" namespace LAMMPS_NS { class PairLJSmoothCuda : public PairLJSmooth { public: PairLJSmoothCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; cCudaData* cu_lj1_gm; cCudaData* cu_lj2_gm; cCudaData* cu_lj3_gm; cCudaData* cu_lj4_gm; cCudaData* cu_ljsw0_gm; cCudaData* cu_ljsw1_gm; cCudaData* cu_ljsw2_gm; cCudaData* cu_ljsw3_gm; cCudaData* cu_ljsw4_gm; }; } #endif #endif diff --git a/src/USER-CUDA/pair_morse_cuda.h b/src/USER-CUDA/pair_morse_cuda.h index 1ce784631..f76e68752 100644 --- a/src/USER-CUDA/pair_morse_cuda.h +++ b/src/USER-CUDA/pair_morse_cuda.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(morse/cuda,PairMorseCuda) #else #ifndef PAIR_MORSE_CUDA_H #define PAIR_MORSE_CUDA_H #include "pair_morse.h" namespace LAMMPS_NS { class PairMorseCuda : public PairMorse { public: PairMorseCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; }; } #endif #endif diff --git a/src/USER-CUDA/pair_sw_cuda.h b/src/USER-CUDA/pair_sw_cuda.h index 8a871d9d4..c61f849a1 100644 --- a/src/USER-CUDA/pair_sw_cuda.h +++ b/src/USER-CUDA/pair_sw_cuda.h @@ -1,66 +1,66 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(sw/cuda,PairSWCuda) #else #ifndef PAIR_SW_CUDA_H #define PAIR_SW_CUDA_H #include "pair_sw_cuda_cu.h" #include "pair_sw.h" #include "cuda_data.h" namespace LAMMPS_NS { class PairSWCuda : public PairSW { public: PairSWCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; ParamSW_Float* params_f; ParamSW_Float* cu_params_f; cCudaData* cu_elem2param; cCudaData* cu_map; bool init; bool iszbl; }; } #endif #endif diff --git a/src/USER-CUDA/pair_tersoff_cuda.h b/src/USER-CUDA/pair_tersoff_cuda.h index 02885dbb3..5b829114f 100644 --- a/src/USER-CUDA/pair_tersoff_cuda.h +++ b/src/USER-CUDA/pair_tersoff_cuda.h @@ -1,66 +1,66 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(tersoff/cuda,PairTersoffCuda) #else #ifndef PAIR_TERSOFF_CUDA_H #define PAIR_TERSOFF_CUDA_H #include "pair_tersoff_cuda_cu.h" #include "pair_tersoff.h" #include "cuda_data.h" namespace LAMMPS_NS { class PairTersoffCuda : public PairTersoff { public: PairTersoffCuda(class LAMMPS *); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_list(int, class NeighList *); void init_style(); void ev_setup(int eflag, int vflag); protected: class Cuda *cuda; void allocate(); bool allocated2; class CudaNeighList* cuda_neigh_list; Param_Float* params_f; Param_Float* cu_params_f; cCudaData* cu_elem2param; cCudaData* cu_map; bool init; bool iszbl; }; } #endif #endif diff --git a/src/USER-CUDA/pair_tersoff_zbl_cuda.h b/src/USER-CUDA/pair_tersoff_zbl_cuda.h index 59f1dc757..4b935b86b 100644 --- a/src/USER-CUDA/pair_tersoff_zbl_cuda.h +++ b/src/USER-CUDA/pair_tersoff_zbl_cuda.h @@ -1,53 +1,53 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(tersoff/zbl/cuda,PairTersoffZBLCuda) #else #ifndef PAIR_TERSOFF_ZBL_CUDA_H #define PAIR_TERSOFF_ZBL_CUDA_H #include "pair_tersoff_cuda.h" namespace LAMMPS_NS { class PairTersoffZBLCuda : public PairTersoffCuda { public: PairTersoffZBLCuda(class LAMMPS *); private: double global_a_0; // Bohr radius for Coulomb repulsion double global_epsilon_0; // permittivity of vacuum for Coulomb repulsion double global_e; // proton charge (negative of electron charge) void read_file(char *); void coeff(int narg, char **arg); }; } #endif #endif diff --git a/src/USER-CUDA/pppm_cuda.h b/src/USER-CUDA/pppm_cuda.h index 61766fae4..1d4b2d6a4 100644 --- a/src/USER-CUDA/pppm_cuda.h +++ b/src/USER-CUDA/pppm_cuda.h @@ -1,113 +1,113 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef KSPACE_CLASS KSpaceStyle(pppm/cuda,PPPMCuda) #else #ifndef LMP_PPPM_CUDA_H #define LMP_PPPM_CUDA_H #include "pppm_old.h" #include "cuda_data.h" #include "cuda_precision.h" namespace LAMMPS_NS { class PPPMCuda : public PPPMOld { public: PPPMCuda(class LAMMPS *, int, char **); ~PPPMCuda(); void init(); void setup(); void compute(int, int); int timing_1d(int, double &); int timing_3d(int, double &); double poissontime; protected: class Cuda *cuda; class FFT3dCuda *fft1c,*fft2c; double* work3; cCudaData* cu_work1; cCudaData* cu_work2; cCudaData* cu_work3; cCudaData* cu_greensfn; cCudaData* cu_gf_b; cCudaData* cu_fkx; cCudaData* cu_fky; cCudaData* cu_fkz; cCudaData* cu_vg; cCudaData* cu_density_brick; cCudaData* cu_density_brick_int; cCudaData* cu_vdx_brick; cCudaData* cu_vdy_brick; cCudaData* cu_vdz_brick; cCudaData* cu_density_fft; cCudaData* cu_energy; cCudaData* cu_virial; cCudaData* cu_x; cCudaData* cu_v; cCudaData* cu_f; cCudaData* cu_q; cCudaData* cu_part2grid; cCudaData* cu_rho_coeff; cCudaData* cu_debugdata; cCudaData* cu_flag; cCudaData* cu_pppm_grid_n; cCudaData* cu_pppm_grid_ids; ENERGY_CFLOAT* slabbuf; cCudaData* cu_slabbuf; int*** density_brick_int; PPPM_CFLOAT density_intScale; int pppm_grid_nmax; int* pppm2partgrid; int* pppm_grid; PPPM_CFLOAT* debugdata; bool firstpass; void set_grid(); void allocate(); void deallocate(); virtual void particle_map(); virtual void make_rho(); void poisson(int, int); virtual void fieldforce(); virtual void slabcorr(int); double*** vdx_brick_tmp; int old_nmax; int global_flag; dev_array* adev_data_array; }; } #endif #endif diff --git a/src/USER-CUDA/user_cuda.h b/src/USER-CUDA/user_cuda.h index 2d4399b5c..dbcc41ab3 100644 --- a/src/USER-CUDA/user_cuda.h +++ b/src/USER-CUDA/user_cuda.h @@ -1,159 +1,159 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifndef CUDA_H #define CUDA_H #include "pointers.h" #include "cuda_shared.h" #include "cuda_data.h" #include "cuda_precision.h" #include #ifdef _DEBUG #define MYDBG(a) a #else #define MYDBG(a) #endif namespace LAMMPS_NS { class Cuda : protected Pointers { public: Cuda(class LAMMPS*); ~Cuda(); //static void setDevice(class LAMMPS*); void allocate(); void accelerator(int, char**); void activate(); void setSharedDataZero(); void setSystemParams(); void setDomainParams(); void checkResize(); void evsetup_eatom_vatom(int eflag_atom, int vflag_atom); void uploadAll(); void downloadAll(); void upload(int datamask); void download(int datamask); void downloadX(); class CudaNeighList* registerNeighborList(class NeighList* neigh_list); void uploadAllNeighborLists(); void downloadAllNeighborLists(); void set_neighinit(int dist_check, double triggerneighsq) { shared_data.atom.dist_check = dist_check; shared_data.atom.triggerneighsq = triggerneighsq; } bool decide_by_integrator() { return neighbor_decide_by_integrator && cu_xhold && finished_setup; } void update_xhold(int &maxhold, double* xhold); void setTimingsZero(); void print_timings(); void cu_x_download() { cu_x->download(); } bool device_set; bool dotiming; bool dotestatom; int testatom; double uploadtime, downloadtime; bool finished_setup, begin_setup; bool oncpu; bool finished_run; int self_comm; int cuda_exists; double extent[6]; int* debugdata; // data shared between host code and device code // (number of atoms, device pointers for up- & download) cuda_shared_data shared_data; cCudaData* cu_q; cCudaData* cu_f; cCudaData* cu_mass; cCudaData* cu_rmass; cCudaData* cu_v; cCudaData* cu_x; cCudaData* cu_xhold; cCudaData* cu_mask; cCudaData* cu_tag; cCudaData* cu_type; cCudaData* cu_image; cCudaData* cu_eatom; cCudaData* cu_vatom; cCudaData* cu_virial; cCudaData* cu_eng_vdwl; cCudaData* cu_eng_coul; cCudaData* cu_extent; int* binned_id; cCudaData* cu_binned_id; int* binned_idnew; cCudaData* cu_binned_idnew; cCudaData* cu_debugdata; cCudaData* cu_radius; cCudaData* cu_density; cCudaData* cu_omega; cCudaData* cu_torque; cCudaData* cu_special; cCudaData* cu_nspecial; cCudaData* cu_molecule; cCudaData* cu_x_type; X_CFLOAT* x_type; cCudaData* cu_v_radius; V_CFLOAT* v_radius; cCudaData* cu_omega_rmass; V_CFLOAT* omega_rmass; cCudaData* cu_map_array; int neighbor_decide_by_integrator; bool pinned; void* copy_buffer; int copy_buffersize; private: int pppn; // number of GPUs/node int *devicelist; // IDs of GPUs std::map neigh_lists; }; } #endif // CUDA_H diff --git a/src/USER-CUDA/verlet_cuda.h b/src/USER-CUDA/verlet_cuda.h index 21f1a049b..ed2108a98 100644 --- a/src/USER-CUDA/verlet_cuda.h +++ b/src/USER-CUDA/verlet_cuda.h @@ -1,63 +1,63 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator Original Version: http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov See the README file in the top-level LAMMPS directory. ----------------------------------------------------------------------- USER-CUDA Package and associated modifications: https://sourceforge.net/projects/lammpscuda/ Christian Trott, christian.trott@tu-ilmenau.de Lars Winterfeld, lars.winterfeld@tu-ilmenau.de Theoretical Physics II, University of Technology Ilmenau, Germany See the README file in the USER-CUDA directory. This software is distributed under the GNU General Public License. ------------------------------------------------------------------------- */ #ifdef INTEGRATE_CLASS IntegrateStyle(verlet/cuda,VerletCuda) #else #ifndef LMP_VERLET_CUDA_H #define LMP_VERLET_CUDA_H #include "verlet.h" #include "modify_cuda.h" namespace LAMMPS_NS { class VerletCuda : public Verlet { public: VerletCuda(class LAMMPS *, int, char **); void setup(); void setup_minimal(int); void run(int); void test_atom(int atom,char* astring); //debugging purpose int dotestatom; //debugging purpose protected: class Cuda *cuda; void force_clear(); double time_pair; double time_kspace; double time_comm; double time_modify; double time_fulliterate; ModifyCuda* modify_cuda; }; } #endif #endif diff --git a/src/USER-EFF/atom_vec_electron.h b/src/USER-EFF/atom_vec_electron.h index 23faa2994..6e79775c3 100644 --- a/src/USER-EFF/atom_vec_electron.h +++ b/src/USER-EFF/atom_vec_electron.h @@ -1,85 +1,85 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(electron,AtomVecElectron) #else #ifndef LMP_ATOM_VEC_ELECTRON_H #define LMP_ATOM_VEC_ELECTRON_H #include "atom_vec.h" namespace LAMMPS_NS { class AtomVecElectron : public AtomVec { public: AtomVecElectron(class LAMMPS *); ~AtomVecElectron() {} void grow(int); void grow_reset(); void copy(int, int, int); void force_clear(int, size_t); int pack_comm(int, int *, double *, int, int *); int pack_comm_vel(int, int *, double *, int, int *); int pack_comm_hybrid(int, int *, double *); void unpack_comm(int, int, double *); void unpack_comm_vel(int, int, double *); int unpack_comm_hybrid(int, int, double *); int pack_reverse(int, int, double *); int pack_reverse_hybrid(int, int, double *); void unpack_reverse(int, int *, double *); int unpack_reverse_hybrid(int, int *, double *); int pack_border(int, int *, double *, int, int *); int pack_border_vel(int, int *, double *, int, int *); int pack_border_hybrid(int, int *, double *); void unpack_border(int, int, double *); void unpack_border_vel(int, int, double *); int unpack_border_hybrid(int, int, double *); int pack_exchange(int, double *); int unpack_exchange(double *); int size_restart(); int pack_restart(int, double *); int unpack_restart(double *); void create_atom(int, double *); void data_atom(double *, imageint, char **); int data_atom_hybrid(int, char **); void data_vel(int, char **); int data_vel_hybrid(int, char **); void pack_data(double **); int pack_data_hybrid(int, double *); void write_data(FILE *, int, double **); int write_data_hybrid(FILE *, double *); void pack_vel(double **); int pack_vel_hybrid(int, double *); void write_vel(FILE *, int, double **); int write_vel_hybrid(FILE *, double *); int property_atom(char *); void pack_property_atom(int, double *, int, int); bigint memory_usage(); private: tagint *tag; int *type,*mask; imageint *image; double **x,**v,**f; int *spin; double *q,*eradius,*ervel,*erforce; }; } #endif #endif diff --git a/src/USER-EFF/compute_ke_atom_eff.h b/src/USER-EFF/compute_ke_atom_eff.h index 16ac96fc9..e5ef5e58d 100644 --- a/src/USER-EFF/compute_ke_atom_eff.h +++ b/src/USER-EFF/compute_ke_atom_eff.h @@ -1,44 +1,44 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(ke/atom/eff,ComputeKEAtomEff) #else #ifndef LMP_COMPUTE_KE_ATOM_EFF_H #define LMP_COMPUTE_KE_ATOM_EFF_H #include "compute.h" namespace LAMMPS_NS { class ComputeKEAtomEff : public Compute { public: ComputeKEAtomEff(class LAMMPS *, int, char **); ~ComputeKEAtomEff(); void init(); void compute_peratom(); double memory_usage(); private: int nmax; double *ke; }; } #endif #endif diff --git a/src/USER-EFF/compute_ke_eff.h b/src/USER-EFF/compute_ke_eff.h index cd71dd59f..c4752066b 100644 --- a/src/USER-EFF/compute_ke_eff.h +++ b/src/USER-EFF/compute_ke_eff.h @@ -1,41 +1,41 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(ke/eff,ComputeKEEff) #else #ifndef LMP_COMPUTE_KE_EFF_H #define LMP_COMPUTE_KE_EFF_H #include "compute.h" namespace LAMMPS_NS { class ComputeKEEff : public Compute { public: ComputeKEEff(class LAMMPS *, int, char **); ~ComputeKEEff() {}; void init(); double compute_scalar(); private: double pfactor; }; } #endif #endif diff --git a/src/USER-EFF/compute_temp_deform_eff.h b/src/USER-EFF/compute_temp_deform_eff.h index c5be07430..5013ec228 100644 --- a/src/USER-EFF/compute_temp_deform_eff.h +++ b/src/USER-EFF/compute_temp_deform_eff.h @@ -1,54 +1,54 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(temp/deform/eff,ComputeTempDeformEff) #else #ifndef LMP_COMPUTE_TEMP_DEFORM_EFF_H #define LMP_COMPUTE_TEMP_DEFORM_EFF_H #include "compute.h" namespace LAMMPS_NS { class ComputeTempDeformEff : public Compute { public: ComputeTempDeformEff(class LAMMPS *, int, char **); virtual ~ComputeTempDeformEff(); void init(); virtual double compute_scalar(); virtual void compute_vector(); void remove_bias(int, double *); void remove_bias_all(); void restore_bias(int, double *); void restore_bias_all(); double memory_usage(); protected: int fix_dof; double tfactor; double vbias[3]; // stored velocity bias for one atom double **vbiasall; // stored velocity bias for all atoms int maxbias; // size of vbiasall array virtual void dof_compute(); }; } #endif #endif diff --git a/src/USER-EFF/compute_temp_eff.h b/src/USER-EFF/compute_temp_eff.h index 7996619f1..54c418d5f 100644 --- a/src/USER-EFF/compute_temp_eff.h +++ b/src/USER-EFF/compute_temp_eff.h @@ -1,46 +1,46 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(temp/eff,ComputeTempEff) #else #ifndef LMP_COMPUTE_TEMP_EFF_H #define LMP_COMPUTE_TEMP_EFF_H #include "compute.h" namespace LAMMPS_NS { class ComputeTempEff : public Compute { public: ComputeTempEff(class LAMMPS *, int, char **); virtual ~ComputeTempEff(); void init() {} void setup(); double compute_scalar(); void compute_vector(); private: int fix_dof; double tfactor; void dof_compute(); }; } #endif #endif diff --git a/src/USER-EFF/compute_temp_region_eff.h b/src/USER-EFF/compute_temp_region_eff.h index b5c5ee379..682a415a4 100644 --- a/src/USER-EFF/compute_temp_region_eff.h +++ b/src/USER-EFF/compute_temp_region_eff.h @@ -1,52 +1,52 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(temp/region/eff,ComputeTempRegionEff) #else #ifndef LMP_COMPUTE_TEMP_REGION_EFF_H #define LMP_COMPUTE_TEMP_REGION_EFF_H #include "compute.h" namespace LAMMPS_NS { class ComputeTempRegionEff : public Compute { public: ComputeTempRegionEff(class LAMMPS *, int, char **); virtual ~ComputeTempRegionEff(); void init(); void setup(); virtual double compute_scalar(); virtual void compute_vector(); void dof_remove_pre(void); int dof_remove(int); void remove_bias(int, double *); void remove_bias_all(); void restore_bias(int, double *); void restore_bias_all(); double memory_usage(); protected: int iregion; char *idregion; }; } #endif #endif diff --git a/src/USER-EFF/fix_langevin_eff.h b/src/USER-EFF/fix_langevin_eff.h index 10c7c687e..1ef973139 100644 --- a/src/USER-EFF/fix_langevin_eff.h +++ b/src/USER-EFF/fix_langevin_eff.h @@ -1,45 +1,45 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(langevin/eff,FixLangevinEff) #else #ifndef LMP_FIX_LANGEVIN_EFF_H #define LMP_FIX_LANGEVIN_EFF_H #include "fix_langevin.h" namespace LAMMPS_NS { class FixLangevinEff : public FixLangevin { public: FixLangevinEff(class LAMMPS *, int, char **); ~FixLangevinEff(); void end_of_step(); double compute_scalar(); void post_force(int); private: double *erforcelangevin; void post_force_no_tally(); void post_force_tally(); }; } #endif #endif diff --git a/src/USER-EFF/fix_nh_eff.h b/src/USER-EFF/fix_nh_eff.h index 74c30f978..408286396 100644 --- a/src/USER-EFF/fix_nh_eff.h +++ b/src/USER-EFF/fix_nh_eff.h @@ -1,34 +1,34 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_FIX_NH_EFF_H #define LMP_FIX_NH_EFF_H #include "fix_nh.h" namespace LAMMPS_NS { class FixNHEff : public FixNH { public: FixNHEff(class LAMMPS *, int, char **); virtual ~FixNHEff() {} protected: void nve_v(); void nve_x(); virtual void nh_v_temp(); }; } #endif diff --git a/src/USER-EFF/fix_nph_eff.h b/src/USER-EFF/fix_nph_eff.h index 10766ec96..8178b121c 100644 --- a/src/USER-EFF/fix_nph_eff.h +++ b/src/USER-EFF/fix_nph_eff.h @@ -1,36 +1,36 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nph/eff,FixNPHEff) #else #ifndef LMP_FIX_NPH_EFF_H #define LMP_FIX_NPH_EFF_H #include "fix_nh_eff.h" namespace LAMMPS_NS { class FixNPHEff : public FixNHEff { public: FixNPHEff(class LAMMPS *, int, char **); ~FixNPHEff() {} }; } #endif #endif diff --git a/src/USER-EFF/fix_npt_eff.h b/src/USER-EFF/fix_npt_eff.h index 11f059d73..5dfb09ae9 100644 --- a/src/USER-EFF/fix_npt_eff.h +++ b/src/USER-EFF/fix_npt_eff.h @@ -1,36 +1,36 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(npt/eff,FixNPTEff) #else #ifndef LMP_FIX_NPT_EFF_H #define LMP_FIX_NPT_EFF_H #include "fix_nh_eff.h" namespace LAMMPS_NS { class FixNPTEff : public FixNHEff { public: FixNPTEff(class LAMMPS *, int, char **); ~FixNPTEff() {} }; } #endif #endif diff --git a/src/USER-EFF/fix_nve_eff.h b/src/USER-EFF/fix_nve_eff.h index de01aa9b3..b33546ce4 100644 --- a/src/USER-EFF/fix_nve_eff.h +++ b/src/USER-EFF/fix_nve_eff.h @@ -1,47 +1,47 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nve/eff,FixNVEEff) #else #ifndef LMP_FIX_NVE_EFF_H #define LMP_FIX_NVE_EFF_H #include "fix.h" namespace LAMMPS_NS { class FixNVEEff : public Fix { public: FixNVEEff(class LAMMPS *, int, char **); int setmask(); virtual void init(); virtual void initial_integrate(int); virtual void final_integrate(); void initial_integrate_respa(int, int, int); void final_integrate_respa(int, int); void reset_dt(); protected: double dtv,dtf; double *step_respa; int mass_require; }; } #endif #endif diff --git a/src/USER-EFF/fix_nvt_eff.h b/src/USER-EFF/fix_nvt_eff.h index 9b63345ef..cff474f5e 100644 --- a/src/USER-EFF/fix_nvt_eff.h +++ b/src/USER-EFF/fix_nvt_eff.h @@ -1,36 +1,36 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nvt/eff,FixNVTEff) #else #ifndef LMP_FIX_NVT_EFF_H #define LMP_FIX_NVT_EFF_H #include "fix_nh_eff.h" namespace LAMMPS_NS { class FixNVTEff : public FixNHEff { public: FixNVTEff(class LAMMPS *, int, char **); ~FixNVTEff() {} }; } #endif #endif diff --git a/src/USER-EFF/fix_nvt_sllod_eff.h b/src/USER-EFF/fix_nvt_sllod_eff.h index 29676b6e3..ef5254123 100644 --- a/src/USER-EFF/fix_nvt_sllod_eff.h +++ b/src/USER-EFF/fix_nvt_sllod_eff.h @@ -1,42 +1,42 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nvt/sllod/eff,FixNVTSllodEff) #else #ifndef LMP_FIX_NVT_SLODD_EFF_H #define LMP_FIX_NVT_SLODD_EFF_H #include "fix_nh_eff.h" namespace LAMMPS_NS { class FixNVTSllodEff : public FixNHEff { public: FixNVTSllodEff(class LAMMPS *, int, char **); ~FixNVTSllodEff() {} void init(); private: int nondeformbias; void nh_v_temp(); }; } #endif #endif diff --git a/src/USER-EFF/fix_temp_rescale_eff.h b/src/USER-EFF/fix_temp_rescale_eff.h index 54155bcc5..f670a9880 100644 --- a/src/USER-EFF/fix_temp_rescale_eff.h +++ b/src/USER-EFF/fix_temp_rescale_eff.h @@ -1,51 +1,51 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(temp/rescale/eff,FixTempRescaleEff) #else #ifndef LMP_FIX_TEMP_RESCALE_EFF_H #define LMP_FIX_TEMP_RESCALE_EFF_H #include "fix.h" namespace LAMMPS_NS { class FixTempRescaleEff : public Fix { public: FixTempRescaleEff(class LAMMPS *, int, char **); virtual ~FixTempRescaleEff(); int setmask(); void init(); virtual void end_of_step(); int modify_param(int, char **); void reset_target(double); double compute_scalar(); protected: int which; double t_start,t_stop,t_window; double fraction,energy,efactor; char *id_temp; class Compute *temperature; int tflag; }; } #endif #endif diff --git a/src/USER-EFF/pair_eff_cut.h b/src/USER-EFF/pair_eff_cut.h index 75ef2b436..63dabe5db 100644 --- a/src/USER-EFF/pair_eff_cut.h +++ b/src/USER-EFF/pair_eff_cut.h @@ -1,66 +1,66 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(eff/cut,PairEffCut) #else #ifndef LMP_PAIR_EFF_CUT_H #define LMP_PAIR_EFF_CUT_H #include "pair.h" namespace LAMMPS_NS { class PairEffCut : public Pair { public: PairEffCut(class LAMMPS *); virtual ~PairEffCut(); virtual void compute(int, int); virtual void settings(int, char **); void coeff(int, char **); void init_style(); void min_pointers(double **, double **); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); virtual void write_restart_settings(FILE *); virtual void read_restart_settings(FILE *); void min_xf_pointers(int, double **, double **); void min_xf_get(int); void min_x_set(int); double memory_usage(); private: int limit_eradius_flag, pressure_with_evirials_flag; double cut_global; double **cut; int ecp_type[100]; double PAULI_CORE_A[100], PAULI_CORE_B[100], PAULI_CORE_C[100], PAULI_CORE_D[100], PAULI_CORE_E[100]; double hhmss2e, h2e; int nmax; double *min_eradius,*min_erforce; void allocate(); void virial_eff_compute(); void ev_tally_eff(int, int, int, int, double, double); }; } #endif #endif diff --git a/src/USER-FEP/compute_fep.h b/src/USER-FEP/compute_fep.h index fdbd4ed6e..7c60a68f7 100644 --- a/src/USER-FEP/compute_fep.h +++ b/src/USER-FEP/compute_fep.h @@ -1,113 +1,113 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- Contributing author: Agilio Padua (ICCF,UBP,CNRS) ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(fep,ComputeFEP) #else #ifndef COMPUTE_FEP_H #define COMPUTE_FEP_H #include "compute.h" namespace LAMMPS_NS { class ComputeFEP : public Compute { public: ComputeFEP(class LAMMPS *, int, char **); ~ComputeFEP(); void init(); void compute_vector(); private: int npert; int pairflag; int chgflag; int tailflag, volumeflag; int fepinitflag; int eflag, vflag; int sys_qsum_update_flag; double temp_fep; int nmax; double *q_orig; double **f_orig; double eng_vdwl_orig,eng_coul_orig; double pvirial_orig[6]; double *peatom_orig,**pvatom_orig; double energy_orig; double kvirial_orig[6]; double *keatom_orig,**kvatom_orig; class Fix *fixgpu; struct Perturb { int which,ivar; char *var; char *pstyle,*pparam; int ilo,ihi,jlo,jhi; int pdim; double **array,**array_orig; int aparam; }; Perturb *perturb; double compute_epair(); void perturb_params(); void backup_params(); void restore_params(); void allocate_storage(); void deallocate_storage(); void backup_qfev(); void restore_qfev(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Variable name for compute fep does not exist Self-explanatory. E: Variable for compute fep is invalid style Self-explanatory. E: Compute fep pair style does not exist Self-explanatory. E: Energy was not tallied on needed timestep You are using a thermo keyword that requires potentials to have tallied energy, but they didn't on this timestep. See the variable doc page for ideas on how to make this work. */ diff --git a/src/USER-FEP/fix_adapt_fep.h b/src/USER-FEP/fix_adapt_fep.h index cb159566c..fae507137 100644 --- a/src/USER-FEP/fix_adapt_fep.h +++ b/src/USER-FEP/fix_adapt_fep.h @@ -1,110 +1,110 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(adapt/fep,FixAdaptFEP) #else #ifndef LMP_FIX_ADAPT_FEP_H #define LMP_FIX_ADAPT_FEP_H #include "fix.h" namespace LAMMPS_NS { class FixAdaptFEP : public Fix { public: int diamflag; // 1 if atom diameters will vary, for AtomVecGranular int chgflag; FixAdaptFEP(class LAMMPS *, int, char **); ~FixAdaptFEP(); int setmask(); void post_constructor(); void init(); void setup_pre_force(int); void pre_force(int); void post_run(); private: int nadapt,resetflag,scaleflag,afterflag; int anypair; char *id_fix_diam,*id_fix_chg; class FixStore *fix_diam,*fix_chg; struct Adapt { int which,ivar; char *var; char *pstyle,*pparam; int ilo,ihi,jlo,jhi; int pdim; double *scalar,scalar_orig; double **array,**array_orig; int aparam; }; Adapt *adapt; double *kspace_scale; void change_settings(); void restore_settings(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Variable name for fix adapt does not exist Self-explanatory. E: Variable for fix adapt is invalid style Only equal-style variables can be used. E: Fix adapt pair style does not exist Self-explanatory E: Fix adapt pair style param not supported The pair style does not know about the parameter you specified. E: Fix adapt type pair range is not valid for pair hybrid sub-style Self-explanatory. E: Fix adapt kspace style does not exist Self-explanatory. E: Fix adapt requires atom attribute diameter The atom style being used does not specify an atom diameter. E: Fix adapt requires atom attribute charge The atom style being used does not specify an atom charge. */ diff --git a/src/USER-FEP/pair_coul_cut_soft.h b/src/USER-FEP/pair_coul_cut_soft.h index 25c6bd414..2e9e1ac8d 100644 --- a/src/USER-FEP/pair_coul_cut_soft.h +++ b/src/USER-FEP/pair_coul_cut_soft.h @@ -1,80 +1,80 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(coul/cut/soft,PairCoulCutSoft) #else #ifndef LMP_PAIR_COUL_CUT_SOFT_H #define LMP_PAIR_COUL_CUT_SOFT_H #include "pair.h" namespace LAMMPS_NS { class PairCoulCutSoft : public Pair { public: PairCoulCutSoft(class LAMMPS *); virtual ~PairCoulCutSoft(); virtual void compute(int, int); virtual void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); virtual void write_restart_settings(FILE *); virtual void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); virtual double single(int, int, int, int, double, double, double, double &); void *extract(const char *, int &); protected: double cut_global; double **cut; double **lambda; double nlambda, alphac; double **lam1, **lam2; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style coul/cut/soft requires atom attribute q The atom style defined does not have these attributes. E: Pair coul/cut/soft different lambda values in mix The value of lambda has to be the same for I J pairs. */ diff --git a/src/USER-FEP/pair_lj_cut_tip4p_long_soft.h b/src/USER-FEP/pair_lj_cut_tip4p_long_soft.h index 5255882a0..74a8ee742 100644 --- a/src/USER-FEP/pair_lj_cut_tip4p_long_soft.h +++ b/src/USER-FEP/pair_lj_cut_tip4p_long_soft.h @@ -1,105 +1,105 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/tip4p/long/soft,PairLJCutTIP4PLongSoft) #else #ifndef LMP_PAIR_LJ_CUT_TIP4P_LONG_SOFT_H #define LMP_PAIR_LJ_CUT_TIP4P_LONG_SOFT_H #include "pair_lj_cut_coul_long_soft.h" namespace LAMMPS_NS { class PairLJCutTIP4PLongSoft : public PairLJCutCoulLongSoft { public: PairLJCutTIP4PLongSoft(class LAMMPS *); virtual ~PairLJCutTIP4PLongSoft(); virtual void compute(int, int); void settings(int, char **); void init_style(); double init_one(int, int); void write_restart_settings(FILE *fp); void read_restart_settings(FILE *fp); void *extract(const char *, int &); virtual double memory_usage(); protected: int typeH,typeO; // atom types of TIP4P water H and O atoms int typeA,typeB; // angle and bond types of TIP4P water double alpha; // geometric constraint parameter for TIP4P int nmax; // info on off-oxygen charge sites int **hneigh; // 0,1 = indices of 2 H associated with O // 2 = 0 if site loc not yet computed, 1 if yes double **newsite; // locations of charge sites void compute_newsite(double *, double *, double *, double *); }; } #endif #endif /* ERROR/WARNING messages: E: TIP4P hydrogen is missing The TIP4P pairwise computation failed to find the correct H atom within a water molecule. 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. E: Illegal ... command 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: Pair style lj/cut/tip4p/long/soft 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. E: Pair style lj/cut/tip4p/long/soft requires newton pair on This is because the computation of constraint forces within a water molecule adds forces to atoms owned by other processors. E: Pair style lj/cut/tip4p/long/soft requires atom attribute q The atom style defined does not have these attributes. E: Must use a bond style with TIP4P potential TIP4P potentials assume bond lengths in water are constrained by a fix shake command. 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/cut/tip4p/long/soft This is because LAMMPS does not compute the Lennard-Jones interactions with these particles for efficiency reasons. */ diff --git a/src/USER-FEP/pair_tip4p_long_soft.h b/src/USER-FEP/pair_tip4p_long_soft.h index c397cdbe2..ffd79d5f2 100644 --- a/src/USER-FEP/pair_tip4p_long_soft.h +++ b/src/USER-FEP/pair_tip4p_long_soft.h @@ -1,100 +1,100 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(tip4p/long/soft,PairTIP4PLongSoft) #else #ifndef LMP_PAIR_TIP4P_LONG_SOFT_H #define LMP_PAIR_TIP4P_LONG_SOFT_H #include "pair_coul_long_soft.h" namespace LAMMPS_NS { class PairTIP4PLongSoft : public PairCoulLongSoft { public: PairTIP4PLongSoft(class LAMMPS *); virtual ~PairTIP4PLongSoft(); virtual void compute(int, int); void settings(int, char **); void init_style(); double init_one(int, int); void write_restart_settings(FILE *fp); void read_restart_settings(FILE *fp); void *extract(const char *, int &); virtual double memory_usage(); protected: int typeH,typeO; // atom types of TIP4P water H and O atoms int typeA,typeB; // angle and bond types of TIP4P water double alpha; // geometric constraint parameter for TIP4P int nmax; // info on off-oxygen charge sites int **hneigh; // 0,1 = indices of 2 H associated with O // 2 = 0 if site loc not yet computed, 1 if yes double **newsite; // locations of charge sites void compute_newsite(double *, double *, double *, double *); }; } #endif #endif /* ERROR/WARNING messages: E: TIP4P hydrogen is missing The TIP4P pairwise computation failed to find the correct H atom within a water molecule. 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. E: Illegal ... command 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: Pair style tip4p/long/soft 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. E: Pair style tip4p/long/soft requires newton pair on This is because the computation of constraint forces within a water molecule adds forces to atoms owned by other processors. E: Pair style tip4p/long/soft requires atom attribute q The atom style defined does not have these attributes. E: Must use a bond style with TIP4P potential TIP4P potentials assume bond lengths in water are constrained by a fix shake command. E: Must use an angle style with TIP4P potential TIP4P potentials assume angles in water are constrained by a fix shake command. */ diff --git a/src/USER-INTEL/math_extra_intel.h b/src/USER-INTEL/math_extra_intel.h index 780d75b79..6d209f57f 100644 --- a/src/USER-INTEL/math_extra_intel.h +++ b/src/USER-INTEL/math_extra_intel.h @@ -1,354 +1,354 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- Contributing author: W. Michael Brown (Intel) ------------------------------------------------------------------------- */ #ifndef LMP_MATH_EXTRA_INTEL_H #define LMP_MATH_EXTRA_INTEL_H #define ME_quat_to_mat_trans(quat, mat) \ { \ flt_t quat_w = quat.w; \ flt_t quat_i = quat.i; \ flt_t quat_j = quat.j; \ flt_t quat_k = quat.k; \ flt_t w2 = quat_w * quat_w; \ flt_t i2 = quat_i * quat_i; \ flt_t j2 = quat_j * quat_j; \ flt_t k2 = quat_k * quat_k; \ flt_t twoij = (flt_t)2.0 * quat_i * quat_j; \ flt_t twoik = (flt_t)2.0 * quat_i * quat_k; \ flt_t twojk = (flt_t)2.0 * quat_j * quat_k; \ flt_t twoiw = (flt_t)2.0 * quat_i * quat_w; \ flt_t twojw = (flt_t)2.0 * quat_j * quat_w; \ flt_t twokw = (flt_t)2.0 * quat_k * quat_w; \ \ mat##_0 = w2 + i2 - j2 - k2; \ mat##_3 = twoij - twokw; \ mat##_6 = twojw + twoik; \ \ mat##_1 = twoij + twokw; \ mat##_4 = w2 - i2 + j2 - k2; \ mat##_7 = twojk - twoiw; \ \ mat##_2 = twoik - twojw; \ mat##_5 = twojk + twoiw; \ mat##_8 = w2 - i2 - j2 + k2; \ } /* ---------------------------------------------------------------------- diagonal matrix times a full matrix ------------------------------------------------------------------------- */ #define ME_diag_times3(d, m, ans) \ { \ ans##_0 = d[0] * m##_0; \ ans##_1 = d[0] * m##_1; \ ans##_2 = d[0] * m##_2; \ ans##_3 = d[1] * m##_3; \ ans##_4 = d[1] * m##_4; \ ans##_5 = d[1] * m##_5; \ ans##_6 = d[2] * m##_6; \ ans##_7 = d[2] * m##_7; \ ans##_8 = d[2] * m##_8; \ } #define ME_diag_times3a(d, m, ans) \ { \ ans##_0 = d##_0 * m##_0; \ ans##_1 = d##_0 * m##_1; \ ans##_2 = d##_0 * m##_2; \ ans##_3 = d##_1 * m##_3; \ ans##_4 = d##_1 * m##_4; \ ans##_5 = d##_1 * m##_5; \ ans##_6 = d##_2 * m##_6; \ ans##_7 = d##_2 * m##_7; \ ans##_8 = d##_2 * m##_8; \ } /* ---------------------------------------------------------------------- multiply the transpose of mat1 times mat2 ------------------------------------------------------------------------- */ #define ME_transpose_times3(m1, m2, ans) \ { \ ans##_0 = m1##_0*m2##_0 + m1##_3*m2##_3 + m1##_6*m2##_6; \ ans##_1 = m1##_0*m2##_1 + m1##_3*m2##_4 + m1##_6*m2##_7; \ ans##_2 = m1##_0*m2##_2 + m1##_3*m2##_5 + m1##_6*m2##_8; \ ans##_3 = m1##_1*m2##_0 + m1##_4*m2##_3 + m1##_7*m2##_6; \ ans##_4 = m1##_1*m2##_1 + m1##_4*m2##_4 + m1##_7*m2##_7; \ ans##_5 = m1##_1*m2##_2 + m1##_4*m2##_5 + m1##_7*m2##_8; \ ans##_6 = m1##_2*m2##_0 + m1##_5*m2##_3 + m1##_8*m2##_6; \ ans##_7 = m1##_2*m2##_1 + m1##_5*m2##_4 + m1##_8*m2##_7; \ ans##_8 = m1##_2*m2##_2 + m1##_5*m2##_5 + m1##_8*m2##_8; \ } /* ---------------------------------------------------------------------- normalize a vector, return in ans ------------------------------------------------------------------------- */ #define ME_normalize3(v0, v1, v2, ans) \ { \ flt_t scale = (flt_t)1.0 / sqrt(v0*v0+v1*v1+v2*v2); \ ans##_0 = v0 * scale; \ ans##_1 = v1 * scale; \ ans##_2 = v2 * scale; \ } /* ---------------------------------------------------------------------- add two matrices ------------------------------------------------------------------------- */ #define ME_plus3(m1, m2, ans) \ { \ ans##_0 = m1##_0 + m2##_0; \ ans##_1 = m1##_1 + m2##_1; \ ans##_2 = m1##_2 + m2##_2; \ ans##_3 = m1##_3 + m2##_3; \ ans##_4 = m1##_4 + m2##_4; \ ans##_5 = m1##_5 + m2##_5; \ ans##_6 = m1##_6 + m2##_6; \ ans##_7 = m1##_7 + m2##_7; \ ans##_8 = m1##_8 + m2##_8; \ } /* ---------------------------------------------------------------------- dot product of 2 vectors ------------------------------------------------------------------------- */ #define ME_dot3(v1, v2) \ (v1##_0*v2##_0 + v1##_1 * v2##_1 + v1##_2 * v2##_2) /* ---------------------------------------------------------------------- determinant of a matrix ------------------------------------------------------------------------- */ #define ME_det3(m) \ ( m##_0 * m##_4 * m##_8 - m##_0 * m##_5 * m##_7 - \ m##_3 * m##_1 * m##_8 + m##_3 * m##_2 * m##_7 + \ m##_6 * m##_1 * m##_5 - m##_6 * m##_2 * m##_4 ) /* ---------------------------------------------------------------------- row vector times matrix ------------------------------------------------------------------------- */ #define ME_vecmat(v, m, ans) \ { \ ans##_0 = v##_0 * m##_0 + v##_1 * m##_3 + v##_2 * m##_6; \ ans##_1 = v##_0 * m##_1 + v##_1 * m##_4 + v##_2 * m##_7; \ ans##_2 = v##_0 * m##_2 + v##_1 * m##_5 + v##_2 * m##_8; \ } /* ---------------------------------------------------------------------- cross product of 2 vectors ------------------------------------------------------------------------- */ #define ME_cross3(v1, v2, ans) \ { \ ans##_0 = v1##_1 * v2##_2 - v1##_2 * v2##_1; \ ans##_1 = v1##_2 * v2##_0 - v1##_0 * v2##_2; \ ans##_2 = v1##_0 * v2##_1 - v1##_1 * v2##_0; \ } /* ---------------------------------------------------------------------- cross product of 2 vectors ------------------------------------------------------------------------- */ #define ME_mv0_cross3(m1, v2, ans) \ { \ ans##_0 = m1##_1 * v2##_2 - m1##_2 * v2##_1; \ ans##_1 = m1##_2 * v2##_0 - m1##_0 * v2##_2; \ ans##_2 = m1##_0 * v2##_1 - m1##_1 * v2##_0; \ } #define ME_mv1_cross3(m1, v2, ans) \ { \ ans##_0 = m1##_4 * v2##_2 - m1##_5 * v2##_1; \ ans##_1 = m1##_5 * v2##_0 - m1##_3 * v2##_2; \ ans##_2 = m1##_3 * v2##_1 - m1##_4 * v2##_0; \ } #define ME_mv2_cross3(m1, v2, ans) \ { \ ans##_0 = m1##_7 * v2##_2 - m1##_8 * v2##_1; \ ans##_1 = m1##_8 * v2##_0 - m1##_6 * v2##_2; \ ans##_2 = m1##_6 * v2##_1 - m1##_7 * v2##_0; \ } #define ME_compute_eta_torque(m1, m2, s1, ans) \ { \ flt_t den = m1##_3*m1##_2*m1##_7-m1##_0*m1##_5*m1##_7- \ m1##_2*m1##_6*m1##_4+m1##_1*m1##_6*m1##_5- \ m1##_3*m1##_1*m1##_8+m1##_0*m1##_4*m1##_8; \ den = (flt_t)1.0 / den; \ \ ans##_0 = s1##_0*(m1##_5*m1##_1*m2##_2+(flt_t)2.0*m1##_4*m1##_8*m2##_0- \ m1##_4*m2##_2*m1##_2-(flt_t)2.0*m1##_5*m2##_0*m1##_7+ \ m2##_1*m1##_2*m1##_7-m2##_1*m1##_1*m1##_8- \ m1##_3*m1##_8*m2##_1+m1##_6*m1##_5*m2##_1+ \ m1##_3*m2##_2*m1##_7-m2##_2*m1##_6*m1##_4)*den; \ \ ans##_1 = s1##_0*(m1##_2*m2##_0*m1##_7-m1##_8*m2##_0*m1##_1+ \ (flt_t)2.0*m1##_0*m1##_8*m2##_1-m1##_0*m2##_2*m1##_5- \ (flt_t)2.0*m1##_6*m1##_2*m2##_1+m2##_2*m1##_3*m1##_2- \ m1##_8*m1##_3*m2##_0+m1##_6*m2##_0*m1##_5+ \ m1##_6*m2##_2*m1##_1-m2##_2*m1##_0*m1##_7)*den; \ \ ans##_2 = s1##_0*(m1##_1*m1##_5*m2##_0-m1##_2*m2##_0*m1##_4- \ m1##_0*m1##_5*m2##_1+m1##_3*m1##_2*m2##_1- \ m2##_1*m1##_0*m1##_7-m1##_6*m1##_4*m2##_0+ \ (flt_t)2.0*m1##_4*m1##_0*m2##_2- \ (flt_t)2.0*m1##_3*m2##_2*m1##_1+ \ m1##_3*m1##_7*m2##_0+m1##_6*m2##_1*m1##_1)*den; \ \ ans##_3 = s1##_1*(-m1##_4*m2##_5*m1##_2+(flt_t)2.0*m1##_4*m1##_8*m2##_3+ \ m1##_5*m1##_1*m2##_5-(flt_t)2.0*m1##_5*m2##_3*m1##_7+ \ m2##_4*m1##_2*m1##_7-m2##_4*m1##_1*m1##_8- \ m1##_3*m1##_8*m2##_4+m1##_6*m1##_5*m2##_4- \ m2##_5*m1##_6*m1##_4+m1##_3*m2##_5*m1##_7)*den; \ \ ans##_4 = s1##_1*(m1##_2*m2##_3*m1##_7-m1##_1*m1##_8*m2##_3+ \ (flt_t)2.0*m1##_8*m1##_0*m2##_4-m2##_5*m1##_0*m1##_5- \ (flt_t)2.0*m1##_6*m2##_4*m1##_2-m1##_3*m1##_8*m2##_3+ \ m1##_6*m1##_5*m2##_3+m1##_3*m2##_5*m1##_2- \ m1##_0*m2##_5*m1##_7+m2##_5*m1##_1*m1##_6)*den; \ \ ans##_5 = s1##_1*(m1##_1*m1##_5*m2##_3-m1##_2*m2##_3*m1##_4- \ m1##_0*m1##_5*m2##_4+m1##_3*m1##_2*m2##_4+ \ (flt_t)2.0*m1##_4*m1##_0*m2##_5-m1##_0*m2##_4*m1##_7+ \ m1##_1*m1##_6*m2##_4-m2##_3*m1##_6*m1##_4- \ (flt_t)2.0*m1##_3*m1##_1*m2##_5+m1##_3*m2##_3*m1##_7)* \ den; \ \ ans##_6 = s1##_2*(-m1##_4*m1##_2*m2##_8+m1##_1*m1##_5*m2##_8+ \ (flt_t)2.0*m1##_4*m2##_6*m1##_8-m1##_1*m2##_7*m1##_8+ \ m1##_2*m1##_7*m2##_7-(flt_t)2.0*m2##_6*m1##_7*m1##_5- \ m1##_3*m2##_7*m1##_8+m1##_5*m1##_6*m2##_7- \ m1##_4*m1##_6*m2##_8+m1##_7*m1##_3*m2##_8)*den; \ \ ans##_7 = s1##_2*-(m1##_1*m1##_8*m2##_6-m1##_2*m2##_6*m1##_7- \ (flt_t)2.0*m2##_7*m1##_0*m1##_8+m1##_5*m2##_8*m1##_0+ \ (flt_t)2.0*m2##_7*m1##_2*m1##_6+m1##_3*m2##_6*m1##_8- \ m1##_3*m1##_2*m2##_8-m1##_5*m1##_6*m2##_6+ \ m1##_0*m2##_8*m1##_7-m2##_8*m1##_1*m1##_6)*den; \ \ ans##_8 = s1##_2*(m1##_1*m1##_5*m2##_6-m1##_2*m2##_6*m1##_4- \ m1##_0*m1##_5*m2##_7+m1##_3*m1##_2*m2##_7- \ m1##_4*m1##_6*m2##_6-m1##_7*m2##_7*m1##_0+ \ (flt_t)2.0*m1##_4*m2##_8*m1##_0+m1##_7*m1##_3*m2##_6+ \ m1##_6*m1##_1*m2##_7-(flt_t)2.0*m2##_8*m1##_3*m1##_1)* \ den; \ } #define ME_vcopy4(dst,src) \ dst##_0 = src##_0; \ dst##_1 = src##_1; \ dst##_2 = src##_2; \ dst##_3 = src##_3; #define ME_mldivide3(m1, v_0, v_1, v_2, ans, error) \ { \ flt_t aug_0, aug_1, aug_2, aug_3, aug_4, aug_5; \ flt_t aug_6, aug_7, aug_8, aug_9, aug_10, aug_11, t; \ \ aug_3 = v_0; \ aug_0 = m1##_0; \ aug_1 = m1##_1; \ aug_2 = m1##_2; \ aug_7 = v_1; \ aug_4 = m1##_3; \ aug_5 = m1##_4; \ aug_6 = m1##_5; \ aug_11 = v_2; \ aug_8 = m1##_6; \ aug_9 = m1##_7; \ aug_10 = m1##_8; \ \ if (fabs(aug_4) > fabs(aug_0)) { \ flt_t swapt; \ swapt = aug_0; aug_0 = aug_4; aug_4 = swapt; \ swapt = aug_1; aug_1 = aug_5; aug_5 = swapt; \ swapt = aug_2; aug_2 = aug_6; aug_6 = swapt; \ swapt = aug_3; aug_3 = aug_7; aug_7 = swapt; \ } \ if (fabs(aug_8) > fabs(aug_0)) { \ flt_t swapt; \ swapt = aug_0; aug_0 = aug_8; aug_8 = swapt; \ swapt = aug_1; aug_1 = aug_9; aug_9 = swapt; \ swapt = aug_2; aug_2 = aug_10; aug_10 = swapt; \ swapt = aug_3; aug_3 = aug_11; aug_11 = swapt; \ } \ \ if (aug_0 != (flt_t)0.0) { \ } else if (aug_4 != (flt_t)0.0) { \ flt_t swapt; \ swapt = aug_0; aug_0 = aug_4; aug_4 = swapt; \ swapt = aug_1; aug_1 = aug_5; aug_5 = swapt; \ swapt = aug_2; aug_2 = aug_6; aug_6 = swapt; \ swapt = aug_3; aug_3 = aug_7; aug_7 = swapt; \ } else if (aug_8 != (flt_t)0.0) { \ flt_t swapt; \ swapt = aug_0; aug_0 = aug_8; aug_8 = swapt; \ swapt = aug_1; aug_1 = aug_9; aug_9 = swapt; \ swapt = aug_2; aug_2 = aug_10; aug_10 = swapt; \ swapt = aug_3; aug_3 = aug_11; aug_11 = swapt; \ } else \ error = 1; \ \ t = aug_4 / aug_0; \ aug_5 -= t * aug_1; \ aug_6 -= t * aug_2; \ aug_7 -= t * aug_3; \ t = aug_8 / aug_0; \ aug_9 -= t * aug_1; \ aug_10 -= t * aug_2; \ aug_11 -= t * aug_3; \ \ if (fabs(aug_9) > fabs(aug_5)) { \ flt_t swapt; \ swapt = aug_4; aug_4 = aug_8; aug_8 = swapt; \ swapt = aug_5; aug_5 = aug_9; aug_9 = swapt; \ swapt = aug_6; aug_6 = aug_10; aug_10 = swapt; \ swapt = aug_7; aug_7 = aug_11; aug_11 = swapt; \ } \ \ if (aug_5 != (flt_t)0.0) { \ } else if (aug_9 != (flt_t)0.0) { \ flt_t swapt; \ swapt = aug_4; aug_4 = aug_8; aug_8 = swapt; \ swapt = aug_5; aug_5 = aug_9; aug_9 = swapt; \ swapt = aug_6; aug_6 = aug_10; aug_10 = swapt; \ swapt = aug_7; aug_7 = aug_11; aug_11 = swapt; \ } \ \ t = aug_9 / aug_5; \ aug_10 -= t * aug_6; \ aug_11 -= t * aug_7; \ \ if (aug_10 == (flt_t)0.0) \ error = 1; \ \ ans##_2 = aug_11/aug_10; \ t = (flt_t)0.0; \ t += aug_6 * ans##_2; \ ans##_1 = (aug_7-t) / aug_5; \ t = (flt_t)0.0; \ t += aug_1 * ans##_1; \ t += aug_2 * ans##_2; \ ans##_0 = (aug_3 - t) / aug_0; \ } #endif diff --git a/src/USER-INTEL/verlet_intel.h b/src/USER-INTEL/verlet_intel.h index 166dc137d..765da5410 100644 --- a/src/USER-INTEL/verlet_intel.h +++ b/src/USER-INTEL/verlet_intel.h @@ -1,67 +1,67 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef INTEGRATE_CLASS IntegrateStyle(verlet/intel,VerletIntel) #else #ifndef LMP_VERLET_INTEL_H #define LMP_VERLET_INTEL_H #include "integrate.h" #ifdef LMP_INTEL_OFFLOAD #include "fix_intel.h" #endif namespace LAMMPS_NS { class VerletIntel : public Integrate { public: VerletIntel(class LAMMPS *, int, char **); virtual ~VerletIntel() {} virtual void init(); virtual void setup(); virtual void setup_minimal(int); virtual void run(int); void cleanup(); protected: int triclinic; // 0 if domain is orthog, 1 if triclinic int torqueflag,extraflag; virtual void force_clear(); #ifdef _LMP_INTEL_OFFLOAD FixIntel *fix_intel; int sync_mode; #endif }; } #endif #endif /* ERROR/WARNING messages: W: No fixes defined, atoms won't move If you are not using a fix like nve, nvt, npt then atom velocities and coordinates will not be updated during timestepping. E: Cannot currently get per-atom virials with intel package. The Intel package does not yet support per-atom virial calculation. */ diff --git a/src/USER-INTEL/verlet_split_intel.h b/src/USER-INTEL/verlet_split_intel.h index 3f81d41a9..ebacdf29f 100644 --- a/src/USER-INTEL/verlet_split_intel.h +++ b/src/USER-INTEL/verlet_split_intel.h @@ -1,89 +1,89 @@ -/* ------------------------------------------------------------------------- +/* -*- c++ -*- ------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef INTEGRATE_CLASS IntegrateStyle(verlet/split/intel,VerletSplitIntel) #else #ifndef LMP_VERLET_SPLIT_INTEL_H #define LMP_VERLET_SPLIT_INTEL_H #include "verlet_intel.h" #ifdef LMP_INTEL_OFFLOAD #include "fix_intel.h" #endif namespace LAMMPS_NS { class VerletSplitIntel : public VerletIntel { public: VerletSplitIntel(class LAMMPS *, int, char **); ~VerletSplitIntel(); void init(); void setup(); void setup_minimal(int); void run(int); bigint memory_usage(); private: int master; // 1 if an Rspace proc, 0 if Kspace int me_block; // proc ID within Rspace/Kspace block int ratio; // ratio of Rspace procs to Kspace procs int *qsize,*qdisp,*xsize,*xdisp; // MPI gather/scatter params for block comm MPI_Comm block; // communicator within one block int tip4p_flag; // 1 if PPPM/tip4p so do extra comm double **f_kspace; // copy of Kspace forces on Rspace procs int maxatom; void rk_setup(); void r2k_comm(); void k2r_comm(); }; } #endif #endif /* ERROR/WARNING messages: E: Verlet/split requires 2 partitions See the -partition command-line switch. E: Verlet/split requires Rspace partition size be multiple of Kspace partition size This is so there is an equal number of Rspace processors for every Kspace processor. E: Verlet/split requires Rspace partition layout be multiple of Kspace partition layout in each dim This is controlled by the processors command. W: No Kspace calculation with verlet/split The 2nd partition performs a kspace calculation so the kspace_style command must be used. E: Verlet/split does not yet support TIP4P This is a current limitation. E: Cannot currently get per-atom virials with Intel package. The Intel package does not yet support per-atom virial calculation. */ diff --git a/src/USER-LB/fix_lb_fluid.h b/src/USER-LB/fix_lb_fluid.h index 781a8fff0..98bb65047 100755 --- a/src/USER-LB/fix_lb_fluid.h +++ b/src/USER-LB/fix_lb_fluid.h @@ -1,167 +1,167 @@ -/* ----------------------------------------------------------------------- +/* -*- c++ -*- ----------------------------------------------------------- LAMMPS 2003 (July 31) - Molecular Dynamics Simulator Sandia National Laboratories, www.cs.sandia.gov/~sjplimp/lammps.html Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. For more info, see the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------ */ #ifdef FIX_CLASS FixStyle(lb/fluid,FixLbFluid) #else #ifndef LMP_FIX_LB_FLUID_H #define LMP_FIX_LB_FLUID_H #include "fix.h" #if defined(MPI_STUBS) #error "The USER-LB package cannot be compiled in serial with MPI STUBS" #endif namespace LAMMPS_NS { class FixLbFluid : public Fix { friend class FixLbMomentum; friend class FixLbRigidPCSphere; friend class FixLbPC; friend class FixLbViscous; public: FixLbFluid(class LAMMPS *, int, char **); ~FixLbFluid(); int setmask(); void init(); void initial_integrate(int); void setup(int); void post_force(int); void end_of_step(); void grow_arrays(int); void copy_arrays(int, int, int); int pack_exchange(int, double *); int unpack_exchange(int, double *); private: double viscosity,densityinit_real,a_0_real,T; int setdx,seta0; int numvel; double dm_lb,dx_lb,dt_lb; // Lattice units for mass, distance, time. int Nbx,Nby,Nbz; // Total # of x,y,z grid points. int subNbx,subNby,subNbz; // # of x,y,z, grid points (including buffer) // on local processor. int me, nprocs; // MPI variables: processor ID, # of processors MPI_Datatype oneslice; // MPI datatypes to pass arrays. MPI_Datatype passxu,passyu,passzu; MPI_Datatype passxf,passyf,passzf; MPI_Datatype passxrho,passyrho,passzrho; MPI_Datatype passxtemp,passytemp,passztemp; double kB,densityinit,a_0; // Boltzmann constant, initial density, // and a_0 all in lattice units. double *Gamma; double *NodeArea; int setGamma,setArea; double **hydroF; int groupbit_viscouslb, groupbit_pc, groupbit_rigid_pc_sphere; double ***density_lb; // fluid density double ****u_lb; // fluid velocity double ****f_lb; // distributions double ****fnew; // used in the calculation of the new // distributions. double ****feq; // equilibrium distributions double ****feqold; // equilibrium distributions from previous // timestep double ****feqn; // equilibrium distributions without noise. double ****feqoldn; // equilibrium distributions from previous // timestep without noise. double ****Ff; // Force from the MD particles on the fluid. double ****Fftempx; double ****Fftempy; double ****Fftempz; double *Ng_lb; // Lattice Boltzmann variables. double *w_lb; double **mg_lb; int **e; double tau; double expminusdtovertau; double Dcoeff; double K_0; double dtoverdtcollision; int step; double ****buf; // arrays used to output data. double ****buf2; double ****altogether; double ****altogether2; double bodyforcex,bodyforcey,bodyforcez; // Body Forces acting on the fluid (default=0) double vwtp,vwbt; // Velocities of the z walls in the y // direction. (must have fixed boundary // conditions in z) int noisestress; // 1 to include noise in the system, // 0 otherwise. double namp,noisefactor; int seed; class RanMars *random; int force_diagnostic; // 1 to print out the force action on a group // of particles, 0 otherwise. int igroupforce; // the group for which the force is to be // printed. int typeLB; int trilinear_stencil; // 1 to use the trilinear stencil, 0 to use the // peskin stencil. int readrestart; // 1 to read in data from a restart file. MPI_File pFileRead; int printrestart; // 1 to write data to a restart file. MPI_File pFileWrite; int printfluid; int fixviscouslb; void rescale(void); void (FixLbFluid::*initializeLB)(void); void initializeLB15(void); void initializeLB19(void); void initialize_feq(void); void (FixLbFluid::*equilibriumdist)(int,int,int,int,int,int); void equilibriumdist15(int,int,int,int,int,int); void equilibriumdist19(int,int,int,int,int,int); void parametercalc_part(int,int,int,int,int,int); void parametercalc_full(void); void update_periodic(int,int,int,int,int,int); void (FixLbFluid::*update_full)(void); void update_full15(void); void update_full19(void); void streamout(void); void read_restartfile(void); void write_restartfile(void); void peskin_interpolation(int); void trilinear_interpolation(int); void calc_fluidforce(void); }; } #endif #endif diff --git a/src/USER-LB/fix_lb_momentum.h b/src/USER-LB/fix_lb_momentum.h index f7d34c8f5..a4277c023 100755 --- a/src/USER-LB/fix_lb_momentum.h +++ b/src/USER-LB/fix_lb_momentum.h @@ -1,45 +1,45 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(lb/momentum,FixLbMomentum) #else #ifndef LMP_FIX_LB_MOMENTUM_H #define LMP_FIX_LB_MOMENTUM_H #include "fix.h" namespace LAMMPS_NS { class FixLbMomentum : public Fix { public: FixLbMomentum(class LAMMPS *, int, char **); int setmask(); void init(); void end_of_step(); private: int linear; int xflag,yflag,zflag; double masstotal; class FixLbFluid *fix_lb_fluid; }; } #endif #endif diff --git a/src/USER-LB/fix_lb_pc.h b/src/USER-LB/fix_lb_pc.h index dcfbab78c..1804810af 100755 --- a/src/USER-LB/fix_lb_pc.h +++ b/src/USER-LB/fix_lb_pc.h @@ -1,61 +1,61 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(lb/pc,FixLbPC) #else #ifndef LMP_FIX_LB_PC_H #define LMP_FIX_LB_PC_H #include "fix.h" namespace LAMMPS_NS { class FixLbPC : public Fix { public: FixLbPC(class LAMMPS *, int, char **); ~FixLbPC(); int setmask(); void init(); void initial_integrate(int); void final_integrate(); void grow_arrays(int); void copy_arrays(int, int, int); // void set_arrays(int); int pack_exchange(int, double *); int unpack_exchange(int, double *); private: double dtv,dtf; int me; double *Gamma_MD; double expminusdttimesgamma; double DMDcoeff; double **force_old; double **up; double **up_old; void compute_up(void); class FixLbFluid *fix_lb_fluid; }; } #endif #endif diff --git a/src/USER-LB/fix_lb_rigid_pc_sphere.h b/src/USER-LB/fix_lb_rigid_pc_sphere.h index 90ed979e2..0ce7e9b83 100755 --- a/src/USER-LB/fix_lb_rigid_pc_sphere.h +++ b/src/USER-LB/fix_lb_rigid_pc_sphere.h @@ -1,110 +1,110 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(lb/rigid/pc/sphere,FixLbRigidPCSphere) #else #ifndef LMP_FIX_LB_RIGID_PC_SPHERE_H #define LMP_FIX_LB_RIGID_PC_SPHERE_H #include "fix.h" namespace LAMMPS_NS { class FixLbRigidPCSphere : public Fix { public: FixLbRigidPCSphere(class LAMMPS *, int, char **); virtual ~FixLbRigidPCSphere(); virtual int setmask(); virtual void init(); virtual void setup(int); virtual void initial_integrate(int); virtual void final_integrate(); virtual double compute_scalar(); double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); void set_arrays(int); int pack_exchange(int, double *); int unpack_exchange(int, double *); void pre_neighbor(); int dof(int); void reset_dt(); double compute_array(int, int); private: double **up; double **up_old; double *Gamma_MD; double expminusdttimesgamma,DMDcoeff; double expminusdttimesgammadiv2; double force_factor,torque_factor; double dtv,dtf; int nbody; // # of rigid bodies int *nrigid; // # of atoms in each rigid body int *nrigid_shell; double *masstotal; // total mass of each rigid body double *masstotal_shell; double *sphereradius; double **xcm; // coords of center-of-mass of each rigid body double **xcm_old; double **vcm; // velocity of center-of-mass of each double **ucm; double **ucm_old; double **fcm; // force on center-of-mass of each double **fcm_old; double **fcm_fluid; double **omega; // angular momentum of each in space coords double **torque; // torque on each rigid body in space coords double **torque_old; double **torque_fluid; double **torque_fluid_old; double **rotate; imageint *imagebody; // image flags of xcm of each rigid body double **fflag; // flag for on/off of center-of-mass force double **tflag; // flag for on/off of center-of-mass torque int *body; // which body each atom is part of (-1 if none) double **sum,**all; // work vectors for each rigid body int **remapflag; // PBC remap flags for each rigid body double tfactor; // scale factor on temperature of rigid bodies int inner_nodes; // ==1 if certain particle are inside the rigid // body and should not interact with the fluid. // ==0 otherwise. int igroupinner; // specifies the particles which are inside the // spherical rigid body, and do not interact with // the fluid. void set_xv(); void set_v(); void compute_up(); class FixLbFluid *fix_lb_fluid; }; } #endif #endif diff --git a/src/USER-LB/fix_lb_viscous.h b/src/USER-LB/fix_lb_viscous.h index 39a5470d0..3a6569fac 100755 --- a/src/USER-LB/fix_lb_viscous.h +++ b/src/USER-LB/fix_lb_viscous.h @@ -1,49 +1,49 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(lb/viscous,FixLbViscous) #else #ifndef LMP_FIX_LB_VISCOUS_H #define LMP_FIX_LB_VISCOUS_H #include "fix.h" namespace LAMMPS_NS { class FixLbViscous : public Fix { public: FixLbViscous(class LAMMPS *, int, char **); ~FixLbViscous(); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); protected: int nlevels_respa; private: class FixLbFluid *fix_lb_fluid; }; } #endif #endif diff --git a/src/USER-MISC/angle_cosine_shift.h b/src/USER-MISC/angle_cosine_shift.h index fdf8fe2a8..03002fbfe 100644 --- a/src/USER-MISC/angle_cosine_shift.h +++ b/src/USER-MISC/angle_cosine_shift.h @@ -1,53 +1,53 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ANGLE_CLASS AngleStyle(cosine/shift,AngleCosineShift) #else #ifndef LMP_ANGLE_COSINE_SHIFT_H #define LMP_ANGLE_COSINE_SHIFT_H #include "stdio.h" #include "angle.h" namespace LAMMPS_NS { class AngleCosineShift : public Angle { public: AngleCosineShift(class LAMMPS *); virtual ~AngleCosineShift(); virtual void compute(int, int); void coeff(int, char **); double equilibrium_angle(int); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); double single(int, int, int, int); protected: double *k; double *a; double *theta; double *ksint; double *kcost; void allocate(); }; } #endif #endif diff --git a/src/USER-MISC/angle_cosine_shift_exp.h b/src/USER-MISC/angle_cosine_shift_exp.h index 7fa19edc7..b37d292a7 100644 --- a/src/USER-MISC/angle_cosine_shift_exp.h +++ b/src/USER-MISC/angle_cosine_shift_exp.h @@ -1,51 +1,51 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ANGLE_CLASS AngleStyle(cosine/shift/exp,AngleCosineShiftExp) #else #ifndef LMP_ANGLE_COSINE_SHIFT_EXP_H #define LMP_ANGLE_COSINE_SHIFT_EXP_H #include "stdio.h" #include "angle.h" namespace LAMMPS_NS { class AngleCosineShiftExp : public Angle { public: AngleCosineShiftExp(class LAMMPS *); virtual ~AngleCosineShiftExp(); virtual void compute(int, int); void coeff(int, char **); double equilibrium_angle(int); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); double single(int, int, int, int); protected: bool *doExpansion; double *umin,*a,*opt1; double *theta0; double *sint; double *cost; void allocate(); }; } #endif #endif diff --git a/src/USER-MISC/angle_dipole.h b/src/USER-MISC/angle_dipole.h index 286cfff4f..f4ea4a88b 100644 --- a/src/USER-MISC/angle_dipole.h +++ b/src/USER-MISC/angle_dipole.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ANGLE_CLASS AngleStyle(dipole,AngleDipole) #else #ifndef LMP_ANGLE_DIPOLE_H #define LMP_ANGLE_DIPOLE_H #include "stdio.h" #include "angle.h" namespace LAMMPS_NS { class AngleDipole : public Angle { public: AngleDipole(class LAMMPS *); virtual ~AngleDipole(); virtual void compute(int, int); void coeff(int, char **); double equilibrium_angle(int); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); double single(int, int, int, int); protected: double *k,*gamma0; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args for angle coefficients Self-explanatory. Check the input script or data file. */ diff --git a/src/USER-MISC/angle_fourier.h b/src/USER-MISC/angle_fourier.h index aa4747a55..43291777a 100644 --- a/src/USER-MISC/angle_fourier.h +++ b/src/USER-MISC/angle_fourier.h @@ -1,49 +1,49 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ANGLE_CLASS AngleStyle(fourier,AngleFourier) #else #ifndef ANGLE_FOURIER_H #define ANGLE_FOURIER_H #include "stdio.h" #include "angle.h" namespace LAMMPS_NS { class AngleFourier : public Angle { public: AngleFourier(class LAMMPS *); virtual ~AngleFourier(); virtual void compute(int, int); void coeff(int, char **); double equilibrium_angle(int); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); virtual double single(int, int, int, int); protected: double *k,*C0,*C1,*C2; void allocate(); }; } #endif #endif diff --git a/src/USER-MISC/angle_fourier_simple.h b/src/USER-MISC/angle_fourier_simple.h index 337fcda6b..2222d5e41 100644 --- a/src/USER-MISC/angle_fourier_simple.h +++ b/src/USER-MISC/angle_fourier_simple.h @@ -1,49 +1,49 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ANGLE_CLASS AngleStyle(fourier/simple,AngleFourierSimple) #else #ifndef ANGLE_FOURIER_SIMPLE_H #define ANGLE_FOURIER_SIMPLE_H #include "stdio.h" #include "angle.h" namespace LAMMPS_NS { class AngleFourierSimple : public Angle { public: AngleFourierSimple(class LAMMPS *); virtual ~AngleFourierSimple(); virtual void compute(int, int); void coeff(int, char **); double equilibrium_angle(int); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); virtual double single(int, int, int, int); protected: double *k,*C,*N; void allocate(); }; } #endif #endif diff --git a/src/USER-MISC/angle_quartic.h b/src/USER-MISC/angle_quartic.h index 556c74b8f..b98443cf7 100644 --- a/src/USER-MISC/angle_quartic.h +++ b/src/USER-MISC/angle_quartic.h @@ -1,49 +1,49 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ANGLE_CLASS AngleStyle(quartic,AngleQuartic) #else #ifndef LMP_ANGLE_QUARTIC_H #define LMP_ANGLE_QUARTIC_H #include "stdio.h" #include "angle.h" namespace LAMMPS_NS { class AngleQuartic : public Angle { public: AngleQuartic(class LAMMPS *); virtual ~AngleQuartic(); virtual void compute(int, int); void coeff(int, char **); double equilibrium_angle(int); void write_restart(FILE *); void read_restart(FILE *); void write_data(FILE *); double single(int, int, int, int); protected: double *k2, *k3, *k4, *theta0; void allocate(); }; } #endif #endif diff --git a/src/USER-MISC/compute_ackland_atom.h b/src/USER-MISC/compute_ackland_atom.h index ec42aa663..5464a10f8 100644 --- a/src/USER-MISC/compute_ackland_atom.h +++ b/src/USER-MISC/compute_ackland_atom.h @@ -1,50 +1,50 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(ackland/atom,ComputeAcklandAtom) #else #ifndef LMP_COMPUTE_ACKLAND_ATOM_H #define LMP_COMPUTE_ACKLAND_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputeAcklandAtom : public Compute { public: ComputeAcklandAtom(class LAMMPS *, int, char **); ~ComputeAcklandAtom(); void init(); void init_list(int, class NeighList *); void compute_peratom(); double memory_usage(); private: int nmax,maxneigh; double *distsq; int *nearest, *nearest_n0, *nearest_n1; double *structure; class NeighList *list; void select(int, int, double *); void select2(int, int, double *, int *); }; } #endif #endif diff --git a/src/USER-MISC/compute_basal_atom.h b/src/USER-MISC/compute_basal_atom.h index e4270e95c..4d478cdd2 100644 --- a/src/USER-MISC/compute_basal_atom.h +++ b/src/USER-MISC/compute_basal_atom.h @@ -1,50 +1,50 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(basal/atom,ComputeBasalAtom) #else #ifndef LMP_COMPUTE_BASAL_ATOM_H #define LMP_COMPUTE_BASAL_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputeBasalAtom : public Compute { public: ComputeBasalAtom(class LAMMPS *, int, char **); ~ComputeBasalAtom(); void init(); void init_list(int, class NeighList *); void compute_peratom(); double memory_usage(); private: int nmax,maxneigh; double *distsq; int *nearest, *nearest_n0, *nearest_n1; double **BPV; class NeighList *list; void select(int, int, double *); void select2(int, int, double *, int *); }; } #endif #endif diff --git a/src/USER-MISC/compute_temp_rotate.h b/src/USER-MISC/compute_temp_rotate.h index 6dd43e356..69643b68a 100644 --- a/src/USER-MISC/compute_temp_rotate.h +++ b/src/USER-MISC/compute_temp_rotate.h @@ -1,55 +1,55 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(temp/rotate,ComputeTempRotate) #else #ifndef LMP_COMPUTE_TEMP_ROTATE_H #define LMP_COMPUTE_TEMP_ROTATE_H #include "compute.h" namespace LAMMPS_NS { class ComputeTempRotate : public Compute { public: ComputeTempRotate(class LAMMPS *, int, char **); ~ComputeTempRotate(); void init(); void setup(); double compute_scalar(); void compute_vector(); void remove_bias(int, double *); void remove_bias_all(); void restore_bias(int, double *); void restore_bias_all(); double memory_usage(); private: int fix_dof; double tfactor,masstotal; double **vbiasall; // stored velocity bias for all atoms int maxbias; // size of vbiasall array void dof_compute(); //without virtual }; } #endif #endif diff --git a/src/USER-MISC/dihedral_cosine_shift_exp.h b/src/USER-MISC/dihedral_cosine_shift_exp.h index 62008e425..ff0843ab1 100644 --- a/src/USER-MISC/dihedral_cosine_shift_exp.h +++ b/src/USER-MISC/dihedral_cosine_shift_exp.h @@ -1,50 +1,50 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef DIHEDRAL_CLASS DihedralStyle(cosine/shift/exp,DihedralCosineShiftExp) #else #ifndef LMP_DIHEDRAL_COSINE_SHIFT_EXP_H #define LMP_DIHEDRAL_COSINE_SHIFT_EXP_H #include "stdio.h" #include "dihedral.h" namespace LAMMPS_NS { class DihedralCosineShiftExp : public Dihedral { public: DihedralCosineShiftExp(class LAMMPS *); virtual ~DihedralCosineShiftExp(); virtual void compute(int, int); void coeff(int, char **); void write_restart(FILE *); void read_restart(FILE *); protected: bool *doExpansion; double *umin,*a,*opt1; double *sint; double *cost; double *theta; void allocate(); }; } #endif #endif diff --git a/src/USER-MISC/dihedral_fourier.h b/src/USER-MISC/dihedral_fourier.h index aac2be65d..734812c8b 100644 --- a/src/USER-MISC/dihedral_fourier.h +++ b/src/USER-MISC/dihedral_fourier.h @@ -1,49 +1,49 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef DIHEDRAL_CLASS DihedralStyle(fourier,DihedralFourier) #else #ifndef LMP_DIHEDRAL_FOURIER_H #define LMP_DIHEDRAL_FOURIER_H #include "stdio.h" #include "dihedral.h" namespace LAMMPS_NS { class DihedralFourier : public Dihedral { public: DihedralFourier(class LAMMPS *); virtual ~DihedralFourier(); virtual void compute(int, int); void coeff(int, char **); void write_restart(FILE *); void read_restart(FILE *); protected: double **k,**cos_shift,**sin_shift,**shift; int **multiplicity; int *nterms; int implicit,weightflag; void allocate(); }; } #endif #endif diff --git a/src/USER-MISC/dihedral_nharmonic.h b/src/USER-MISC/dihedral_nharmonic.h index 8be90df81..a705c0ff4 100644 --- a/src/USER-MISC/dihedral_nharmonic.h +++ b/src/USER-MISC/dihedral_nharmonic.h @@ -1,47 +1,47 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef DIHEDRAL_CLASS DihedralStyle(nharmonic,DihedralNHarmonic) #else #ifndef DIHEDRAL_NHARMONIC_H #define DIHEDRAL_NHARMONIC_H #include "stdio.h" #include "dihedral.h" namespace LAMMPS_NS { class DihedralNHarmonic : public Dihedral { public: DihedralNHarmonic(class LAMMPS *); ~DihedralNHarmonic(); void compute(int, int); void coeff(int, char **); void write_restart(FILE *); void read_restart(FILE *); protected: int *nterms; double **a; void allocate(); }; } #endif #endif diff --git a/src/USER-MISC/dihedral_quadratic.h b/src/USER-MISC/dihedral_quadratic.h index d1f5d2128..bc4e032c0 100644 --- a/src/USER-MISC/dihedral_quadratic.h +++ b/src/USER-MISC/dihedral_quadratic.h @@ -1,47 +1,47 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef DIHEDRAL_CLASS DihedralStyle(quadratic,DihedralQuadratic) #else #ifndef LMP_DIHEDRAL_QUADRATIC_H #define LMP_DIHEDRAL_QUADRATIC_H #include "stdio.h" #include "dihedral.h" namespace LAMMPS_NS { class DihedralQuadratic : public Dihedral { public: DihedralQuadratic(class LAMMPS *); ~DihedralQuadratic(); void compute(int, int); void coeff(int, char **); void write_restart(FILE *); void read_restart(FILE *); protected: double *k,*phi0; int *sign,*multiplicity; void allocate(); }; } #endif #endif diff --git a/src/USER-MISC/fix_addtorque.h b/src/USER-MISC/fix_addtorque.h index 08438ef91..513b658c8 100644 --- a/src/USER-MISC/fix_addtorque.h +++ b/src/USER-MISC/fix_addtorque.h @@ -1,54 +1,54 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(addtorque,FixAddTorque) #else #ifndef LMP_FIX_ADDTORQUE_H #define LMP_FIX_ADDTORQUE_H #include "fix.h" namespace LAMMPS_NS { class FixAddTorque : public Fix { public: FixAddTorque(class LAMMPS *, int, char **); ~FixAddTorque(); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); double compute_scalar(); double compute_vector(int); private: double xvalue,yvalue,zvalue; int varflag; char *xstr,*ystr,*zstr; int xvar,yvar,zvar,xstyle,ystyle,zstyle; double foriginal[4],foriginal_all[4]; int force_flag; int nlevels_respa; }; } #endif #endif diff --git a/src/USER-MISC/fix_smd.h b/src/USER-MISC/fix_smd.h index 339838d27..687c1900b 100644 --- a/src/USER-MISC/fix_smd.h +++ b/src/USER-MISC/fix_smd.h @@ -1,60 +1,60 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(smd,FixSMD) #else #ifndef LMP_FIX_SMD_H #define LMP_FIX_SMD_H #include "fix.h" namespace LAMMPS_NS { class FixSMD : public Fix { public: FixSMD(class LAMMPS *, int, char **); int setmask(); void init(); void setup(int); void post_force(int); void post_force_respa(int, int, int); double compute_vector(int); void write_restart(FILE *); void restart(char *); private: double xc,yc,zc,xn,yn,zn,r0; double k_smd,f_smd,v_smd; int xflag,yflag,zflag; int styleflag; double r_old,r_now,pmf; int igroup2,group2bit; double masstotal,masstotal2; int nlevels_respa; double ftotal[3],ftotal_all[7]; int force_flag; void smd_tether(); void smd_couple(); }; } #endif #endif diff --git a/src/USER-MISC/fix_ti_rs.h b/src/USER-MISC/fix_ti_rs.h index 73aac11ae..58466501a 100755 --- a/src/USER-MISC/fix_ti_rs.h +++ b/src/USER-MISC/fix_ti_rs.h @@ -1,66 +1,66 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- Contributing authors: Rodrigo Freitas (Unicamp/Brazil) - rodrigohb@gmail.com Maurice de Koning (Unicamp/Brazil) - dekoning@ifi.unicamp.br ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(ti/rs,FixTIRS) #else #ifndef LMP_FIX_TI_RS_H #define LMP_FIX_TI_RS_H #include "fix.h" namespace LAMMPS_NS { class FixTIRS : public Fix { public: FixTIRS(class LAMMPS *, int, char **); ~FixTIRS(); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); virtual void initial_integrate(int); double compute_vector(int); private: double switch_func(double); double dswitch_func(double); double lambda; // Coupling parameter. double dlambda; // Lambda variation with t. double l_initial; // Lambda initial value. double l_final; // Lambda final value. double linfo[2]; // Current lambda status. int t_switch; // Total switching steps. int t_equil; // Equilibration time. int t0; // Initial time. int sf; // Switching function option. int nlevels_respa; }; } #endif #endif diff --git a/src/USER-MISC/fix_ti_spring.h b/src/USER-MISC/fix_ti_spring.h index 76c7479bb..ce67968d5 100755 --- a/src/USER-MISC/fix_ti_spring.h +++ b/src/USER-MISC/fix_ti_spring.h @@ -1,94 +1,94 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- Contributing authors: Rodrigo Freitas (Unicamp/Brazil) - rodrigohb@gmail.com Maurice de Koning (Unicamp/Brazil) - dekoning@ifi.unicamp.br ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(ti/spring,FixTISpring) #else #ifndef LMP_FIX_TI_SPRING_H #define LMP_FIX_TI_SPRING_H #include "fix.h" namespace LAMMPS_NS { class FixTISpring : public Fix { public: FixTISpring(class LAMMPS *, int, char **); ~FixTISpring(); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); void initial_integrate(int); double compute_scalar(); double compute_vector(int); double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); int pack_exchange(int, double *); int unpack_exchange(int, double *); int pack_restart(int, double *); void unpack_restart(int, int); int size_restart(int); int maxsize_restart(); private: double switch_func(double); // Switching function. double dswitch_func(double); // Switching function derivative. double k; // Spring constant. double espring; // Springs energies. double **xoriginal; // Original coords of atoms. double lambda; // Coupling parameter. double dlambda; // Lambda variation with t. double linfo[2]; // Current lambda status. int t_switch; // Total switching steps. int t_equil; // Equilibration time. int t0; // Initial time. int sf; // Switching function option. int nlevels_respa; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Illegal fix ti/spring switching function 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. */ diff --git a/src/USER-MISC/improper_cossq.h b/src/USER-MISC/improper_cossq.h index 498d3403b..3eca800db 100644 --- a/src/USER-MISC/improper_cossq.h +++ b/src/USER-MISC/improper_cossq.h @@ -1,45 +1,45 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef IMPROPER_CLASS ImproperStyle(cossq,ImproperCossq) #else #ifndef LMP_IMPROPER_COSSQ_H #define LMP_IMPROPER_COSSQ_H #include "stdio.h" #include "improper.h" namespace LAMMPS_NS { class ImproperCossq : public Improper { public: ImproperCossq(class LAMMPS *); virtual ~ImproperCossq(); virtual void compute(int, int); void coeff(int, char **); void write_restart(FILE *); void read_restart(FILE *); protected: double *k, *chi; void allocate(); }; } #endif #endif diff --git a/src/USER-MISC/improper_fourier.h b/src/USER-MISC/improper_fourier.h index cfd47de13..0d2a798c1 100644 --- a/src/USER-MISC/improper_fourier.h +++ b/src/USER-MISC/improper_fourier.h @@ -1,51 +1,51 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef IMPROPER_CLASS ImproperStyle(fourier,ImproperFourier) #else #ifndef LMP_IMPROPER_FOURIER_H #define LMP_IMPROPER_FOURIER_H #include "stdio.h" #include "improper.h" namespace LAMMPS_NS { class ImproperFourier : public Improper { public: ImproperFourier(class LAMMPS *); ~ImproperFourier(); void compute(int, int); void coeff(int, char **); void write_restart(FILE *); void read_restart(FILE *); protected: double *k, *C0, *C1, *C2; int *all; void addone(const int &i1,const int &i2,const int &i3,const int &i4, const int &type,const int &evflag,const int &eflag, const double &vb1x, const double &vb1y, const double &vb1z, const double &vb2x, const double &vb2y, const double &vb2z, const double &vb3x, const double &vb3y, const double &vb3z); void allocate(); }; } #endif #endif diff --git a/src/USER-MISC/improper_ring.h b/src/USER-MISC/improper_ring.h index 0da0e5e05..a578e4d17 100644 --- a/src/USER-MISC/improper_ring.h +++ b/src/USER-MISC/improper_ring.h @@ -1,46 +1,46 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef IMPROPER_CLASS ImproperStyle(ring,ImproperRing) #else #ifndef LMP_IMPROPER_RING_H #define LMP_IMPROPER_RING_H #include "stdio.h" #include "improper.h" namespace LAMMPS_NS { class ImproperRing : public Improper { public: ImproperRing(class LAMMPS *); virtual ~ImproperRing(); virtual void compute(int, int); void coeff(int, char **); void write_restart(FILE *); void read_restart(FILE *); protected: double *k,*chi; void allocate(); }; } #endif #endif diff --git a/src/USER-MISC/pair_cdeam.h b/src/USER-MISC/pair_cdeam.h index d8743973c..1ae81af93 100644 --- a/src/USER-MISC/pair_cdeam.h +++ b/src/USER-MISC/pair_cdeam.h @@ -1,230 +1,230 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(eam/cd,PairCDEAM_OneSite) PairStyle(eam/cd/old,PairCDEAM_TwoSite) #else #ifndef LMP_PAIR_CDEAM_H #define LMP_PAIR_CDEAM_H #include "pair_eam_alloy.h" namespace LAMMPS_NS { class PairCDEAM : public PairEAMAlloy { public: /// Constructor. PairCDEAM(class LAMMPS*, int cdeamVersion); /// Destructor. virtual ~PairCDEAM(); /// Calculates the energies and forces for all atoms in the system. virtual void compute(int, int); /// Parses the pair_coeff command parameters for this pair style. void coeff(int, char **); /// This is for MPI communication with neighbor nodes. int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); /// Reports the memory usage of this pair style to LAMMPS. double memory_usage(); /// Parses the coefficients of the h polynomial from the end of the EAM file. void read_h_coeff(char* filename); public: // The public interface exposed by this potential class. // Evaluates the h(x) polynomial for a given local concentration x. inline double evalH(double x) const { double v = 0.0; for(int i = nhcoeff-1; i >= 1; i--) { v = (v + hcoeff[i]) * x; } return v + hcoeff[0]; }; // Calculates the derivative of the h(x) polynomial. inline double evalHprime(double x) const { double v = 0.0; for(int i = nhcoeff-1; i >= 2; i--) { v = (v + (double)i * hcoeff[i]) * x; } return v + hcoeff[1]; }; // We have two versions of the CD-EAM potential. The user can choose which one he wants to use: // // Version 1 - One-site concentration: The h(x_i) function depends only on the concentration at the atomic site i. // This is a new version with a slight modification to the formula. It happens to be computationally more efficient. // It has been published in the MSMSE 2009 paper. // // Version 2 - Two-site concentration: The h(x_ij) function depends on the concentrations at two atomic sites i and j. // This is the original version from the 2005 PRL paper. int cdeamVersion; // Per-atom arrays // The partial density of B atoms at each atom site. double *rhoB; // The intermediate value D_i for each atom. // The meaning of these values depend on the version of the CD-EAM potential used: // // For the one-site concentration version these are the v_i values defined in equation (21) // of the MSMSE paper. // // For the old two-site concentration version these are the M_i values defined in equation (12) // of the MSMSE paper. double *D_values; // The atom type index that is considered to be the A species in the alloy. int speciesA; // The atom type index that is considered to be the B species in the alloy. int speciesB; protected: // Evaluation functions: // This structure specifies an entry in one of the EAM spline tables // and the corresponding floating point part. typedef struct { int m; double p; } EAMTableIndex; // Converts a radius value to an index value to be used in a spline table lookup. inline EAMTableIndex radiusToTableIndex(double r) const { EAMTableIndex index; index.p = r*rdr + 1.0; index.m = static_cast(index.p); index.m = index.m <= (nr-1) ? index.m : (nr-1); index.p -= index.m; index.p = index.p <= 1.0 ? index.p : 1.0; return index; }; // Converts a density value to an index value to be used in a spline table lookup. inline EAMTableIndex rhoToTableIndex(double rho) const { EAMTableIndex index; index.p = rho*rdrho + 1.0; index.m = static_cast(index.p); index.m = index.m <= (nrho-1) ? index.m : (nrho-1); index.p -= index.m; index.p = index.p <= 1.0 ? index.p : 1.0; return index; }; // Computes the derivative of rho(r) inline double RhoPrimeOfR(const EAMTableIndex& index, int itype, int jtype) const { const double* coeff = rhor_spline[type2rhor[itype][jtype]][index.m]; return (coeff[0]*index.p + coeff[1])*index.p + coeff[2]; }; // Computes rho(r) inline double RhoOfR(const EAMTableIndex& index, int itype, int jtype) const { const double* coeff = rhor_spline[type2rhor[itype][jtype]][index.m]; return ((coeff[3]*index.p + coeff[4])*index.p + coeff[5])*index.p + coeff[6]; }; // Computes the derivative of F(rho) inline double FPrimeOfRho(const EAMTableIndex& index, int itype) const { const double* coeff = frho_spline[type2frho[itype]][index.m]; return (coeff[0]*index.p + coeff[1])*index.p + coeff[2]; }; // Computes F(rho) inline double FofRho(const EAMTableIndex& index, int itype) const { const double* coeff = frho_spline[type2frho[itype]][index.m]; return ((coeff[3]*index.p + coeff[4])*index.p + coeff[5])*index.p + coeff[6]; }; // Computes the derivative of z2(r) inline double Z2PrimeOfR(const EAMTableIndex& index, int itype, int jtype) const { const double* coeff = z2r_spline[type2z2r[itype][jtype]][index.m]; return (coeff[0]*index.p + coeff[1])*index.p + coeff[2]; }; // Computes z2(r) inline double Z2OfR(const EAMTableIndex& index, int itype, int jtype) const { const double* coeff = z2r_spline[type2z2r[itype][jtype]][index.m]; return ((coeff[3]*index.p + coeff[4])*index.p + coeff[5])*index.p + coeff[6]; }; // Computes pair potential V_ij(r). inline double PhiOfR(const EAMTableIndex& index, int itype, int jtype, const double oneOverR) const { // phi = pair potential energy // z2 = phi * r const double* coeff = z2r_spline[type2z2r[itype][jtype]][index.m]; const double z2 = ((coeff[3]*index.p + coeff[4])*index.p + coeff[5])*index.p + coeff[6]; return z2 * oneOverR; }; // Computes pair potential V_ij(r) and its derivative. inline double PhiOfR(const EAMTableIndex& index, int itype, int jtype, const double oneOverR, double& phid) const { // phi = pair potential energy // phip = phi' // z2 = phi * r // z2p = (phi * r)' = (phi' r) + phi const double* coeff = z2r_spline[type2z2r[itype][jtype]][index.m]; const double z2p = (coeff[0]*index.p + coeff[1])*index.p + coeff[2]; const double z2 = ((coeff[3]*index.p + coeff[4])*index.p + coeff[5])*index.p + coeff[6]; const double phi = z2 * oneOverR; phid = z2p * oneOverR - phi * oneOverR; return phi; }; // Parameters // h() polynomial function coefficients double* hcoeff; // The number of coefficients in the polynomial. int nhcoeff; // This specifies the calculation stage to let the pack/unpack communication routines know // which data to exchange. int communicationStage; }; /// The one-site concentration formulation of CD-EAM. class PairCDEAM_OneSite : public PairCDEAM { public: /// Constructor. PairCDEAM_OneSite(class LAMMPS* lmp) : PairEAM(lmp), PairCDEAM(lmp, 1) {} }; /// The two-site concentration formulation of CD-EAM. class PairCDEAM_TwoSite : public PairCDEAM { public: /// Constructor. PairCDEAM_TwoSite(class LAMMPS* lmp) : PairEAM(lmp), PairCDEAM(lmp, 2) {} }; } #endif #endif diff --git a/src/USER-MISC/pair_edip.h b/src/USER-MISC/pair_edip.h index c3ad25fb3..024ddafac 100755 --- a/src/USER-MISC/pair_edip.h +++ b/src/USER-MISC/pair_edip.h @@ -1,112 +1,112 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(edip,PairEDIP) #else #ifndef LMP_PAIR_EDIP_H #define LMP_PAIR_EDIP_H #include "pair.h" namespace LAMMPS_NS { class PairEDIP : public Pair { public: PairEDIP(class LAMMPS *); virtual ~PairEDIP(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); void init_style(); protected: struct Param { double A, B; double cutoffA, cutoffC, cutsq; double alpha, beta; double eta, gamm, lambda, mu, rho, sigma, Q0; double u1, u2, u3, u4; int ielement,jelement,kelement; }; double *preInvR_ij; double *preExp3B_ij; double *preExp3BDerived_ij; double *preExp2B_ij; double *preExp2BDerived_ij; double *prePow2B_ij; double *preForceCoord; // grids double *cutoffFunction; double *cutoffFunctionDerived; double *pow2B; double *exp2B; double *exp3B; double *qFunctionGrid; double *expMinusBetaZeta_iZeta_iGrid; double *tauFunctionGrid; double *tauFunctionDerivedGrid; // this should be removed for multi species parametrizations // since these parameters should be addressed through indexes // see also the PairEDIP::setup() double A; double B; double rho; double cutoffA; double cutoffC; double sigma; double lambda; double gamm; double eta; double Q0; double mu; double beta; double alpha; double u1; double u2; double u3; double u4; double cutmax; // max cutoff for all elements int nelements; // # of unique elements char **elements; // names of unique elements int ***elem2param; // mapping from element triplets to parameters int *map; // mapping from atom types to elements int nparams; // # of stored parameter sets int maxparam; // max # of parameter sets Param *params; // parameter set for an I-J-K interaction void allocate(); void allocatePreLoops(void); void deallocatePreLoops(void); void allocateGrids(void); void deallocateGrids(void); void initGrids(void); void read_file(char *); void setup(); }; } #endif #endif diff --git a/src/USER-MISC/pair_lj_sf.h b/src/USER-MISC/pair_lj_sf.h index 6252d4134..1a4106b78 100644 --- a/src/USER-MISC/pair_lj_sf.h +++ b/src/USER-MISC/pair_lj_sf.h @@ -1,53 +1,53 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/sf,PairLJShiftedForce) #else #ifndef LMP_PAIR_LJ_SF_H #define LMP_PAIR_LJ_SF_H #include "pair.h" namespace LAMMPS_NS { class PairLJShiftedForce : public Pair { public: PairLJShiftedForce(class LAMMPS *); virtual ~PairLJShiftedForce(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); double single(int, int, int, int, double, double, double, double &); protected: double cut_global; double **cut; double **epsilon,**sigma; double **lj1,**lj2,**lj3,**lj4,**foffset,**offset; void allocate(); }; } #endif #endif diff --git a/src/USER-MISC/pair_lj_sf_dipole_sf.h b/src/USER-MISC/pair_lj_sf_dipole_sf.h index 44cf009b5..1a6c57b2b 100755 --- a/src/USER-MISC/pair_lj_sf_dipole_sf.h +++ b/src/USER-MISC/pair_lj_sf_dipole_sf.h @@ -1,54 +1,54 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/sf/dipole/sf,PairLJSFDipoleSF) #else #ifndef LMP_PAIR_LJ_SF_DIPOLE_SF_H #define LMP_PAIR_LJ_SF_DIPOLE_SF_H #include "pair.h" namespace LAMMPS_NS { class PairLJSFDipoleSF : public Pair { public: PairLJSFDipoleSF(class LAMMPS *); virtual ~PairLJSFDipoleSF(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); protected: double cut_lj_global,cut_coul_global; double **cut_lj,**cut_ljsq; double **cut_coul,**cut_coulsq; double **epsilon,**sigma; double **lj1,**lj2,**lj3,**lj4; void allocate(); }; } #endif #endif diff --git a/src/USER-MISC/pair_meam_spline.h b/src/USER-MISC/pair_meam_spline.h index a2b7ebc9c..d13968067 100644 --- a/src/USER-MISC/pair_meam_spline.h +++ b/src/USER-MISC/pair_meam_spline.h @@ -1,281 +1,281 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- see LLNL copyright notice at bottom of file ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(meam/spline,PairMEAMSpline) #else #ifndef LMP_PAIR_MEAM_SPLINE_H #define LMP_PAIR_MEAM_SPLINE_H #include "pair.h" namespace LAMMPS_NS { /// Set this to 1 if you intend to use MEAM potentials with non-uniform spline knots. /// Set this to 0 if you intend to use only MEAM potentials with spline knots on a uniform grid. /// /// With SUPPORT_NON_GRID_SPLINES == 0, the code runs about 50% faster. #define SPLINE_MEAM_SUPPORT_NON_GRID_SPLINES 0 class PairMEAMSpline : public Pair { public: PairMEAMSpline(class LAMMPS *); virtual ~PairMEAMSpline(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); void init_list(int, class NeighList *); double init_one(int, int); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); double memory_usage(); protected: char **elements; // names of unique elements int *map; // mapping from atom types to elements int nelements; // # of unique elements class SplineFunction { public: /// Default constructor. SplineFunction() : X(NULL), Xs(NULL), Y(NULL), Y2(NULL), Ydelta(NULL), N(0) {} /// Destructor. ~SplineFunction() { delete[] X; delete[] Xs; delete[] Y; delete[] Y2; delete[] Ydelta; } /// Initialization of spline function. void init(int _N, double _deriv0, double _derivN) { N = _N; deriv0 = _deriv0; derivN = _derivN; delete[] X; delete[] Xs; delete[] Y; delete[] Y2; delete[] Ydelta; X = new double[N]; Xs = new double[N]; Y = new double[N]; Y2 = new double[N]; Ydelta = new double[N]; } /// Adds a knot to the spline. void setKnot(int n, double x, double y) { X[n] = x; Y[n] = y; } /// Returns the number of knots. int numKnots() const { return N; } /// Parses the spline knots from a text file. void parse(FILE* fp, Error* error); /// Calculates the second derivatives of the cubic spline. void prepareSpline(Error* error); /// Evaluates the spline function at position x. inline double eval(double x) const { x -= xmin; if(x <= 0.0) { // Left extrapolation. return Y[0] + deriv0 * x; } else if(x >= xmax_shifted) { // Right extrapolation. return Y[N-1] + derivN * (x - xmax_shifted); } else { #if SPLINE_MEAM_SUPPORT_NON_GRID_SPLINES // Do interval search. int klo = 0; int khi = N-1; while(khi - klo > 1) { int k = (khi + klo) / 2; if(Xs[k] > x) khi = k; else klo = k; } double h = Xs[khi] - Xs[klo]; // Do spline interpolation. double a = (Xs[khi] - x)/h; double b = 1.0 - a; // = (x - X[klo])/h return a * Y[klo] + b * Y[khi] + ((a*a*a - a) * Y2[klo] + (b*b*b - b) * Y2[khi])*(h*h)/6.0; #else // For a spline with grid points, we can directly calculate the interval X is in. int klo = (int)(x / h); int khi = klo + 1; double a = Xs[khi] - x; double b = h - a; return Y[khi] - a * Ydelta[klo] + ((a*a - hsq) * a * Y2[klo] + (b*b - hsq) * b * Y2[khi]); #endif } } /// Evaluates the spline function and its first derivative at position x. inline double eval(double x, double& deriv) const { x -= xmin; if(x <= 0.0) { // Left extrapolation. deriv = deriv0; return Y[0] + deriv0 * x; } else if(x >= xmax_shifted) { // Right extrapolation. deriv = derivN; return Y[N-1] + derivN * (x - xmax_shifted); } else { #if SPLINE_MEAM_SUPPORT_NON_GRID_SPLINES // Do interval search. int klo = 0; int khi = N-1; while(khi - klo > 1) { int k = (khi + klo) / 2; if(Xs[k] > x) khi = k; else klo = k; } double h = Xs[khi] - Xs[klo]; // Do spline interpolation. double a = (Xs[khi] - x)/h; double b = 1.0 - a; // = (x - X[klo])/h deriv = (Y[khi] - Y[klo]) / h + ((3.0*b*b - 1.0) * Y2[khi] - (3.0*a*a - 1.0) * Y2[klo]) * h / 6.0; return a * Y[klo] + b * Y[khi] + ((a*a*a - a) * Y2[klo] + (b*b*b - b) * Y2[khi]) * (h*h) / 6.0; #else // For a spline with grid points, we can directly calculate the interval X is in. int klo = (int)(x / h); int khi = klo + 1; double a = Xs[khi] - x; double b = h - a; deriv = Ydelta[klo] + ((3.0*b*b - hsq) * Y2[khi] - (3.0*a*a - hsq) * Y2[klo]); return Y[khi] - a * Ydelta[klo] + ((a*a - hsq) * a * Y2[klo] + (b*b - hsq) * b * Y2[khi]); #endif } } /// Returns the number of bytes used by this function object. double memory_usage() const { return sizeof(*this) + sizeof(X[0]) * N * 3; } /// Returns the cutoff radius of this function. double cutoff() const { return X[N-1]; } /// Writes a Gnuplot script that plots the spline function. void writeGnuplot(const char* filename, const char* title = NULL) const; /// Broadcasts the spline function parameters to all processors. void communicate(MPI_Comm& world, int me); private: double* X; // Positions of spline knots double* Xs; // Shifted positions of spline knots double* Y; // Function values at spline knots double* Y2; // Second derivatives at spline knots double* Ydelta; // If this is a grid spline, Ydelta[i] = (Y[i+1]-Y[i])/h int N; // Number of spline knots double deriv0; // First derivative at knot 0 double derivN; // First derivative at knot (N-1) double xmin; // The beginning of the interval on which the spline function is defined. double xmax; // The end of the interval on which the spline function is defined. int isGridSpline; // Indicates that all spline knots are on a regular grid. double h; // The distance between knots if this is a grid spline with equidistant knots. double hsq; // The squared distance between knots if this is a grid spline with equidistant knots. double xmax_shifted; // The end of the spline interval after it has been shifted to begin at X=0. }; /// Helper data structure for potential routine. struct MEAM2Body { int tag; double r; double f, fprime; double del[3]; }; SplineFunction phi; // Phi(r_ij) SplineFunction rho; // Rho(r_ij) SplineFunction f; // f(r_ij) SplineFunction U; // U(rho) SplineFunction g; // g(cos_theta) double zero_atom_energy; // Shift embedding energy by this value to make it zero for a single atom in vacuum. double cutoff; // The cutoff radius double* Uprime_values; // Used for temporary storage of U'(rho) values int nmax; // Size of temporary array. int maxNeighbors; // The last maximum number of neighbors a single atoms has. MEAM2Body* twoBodyInfo; // Temporary array. void read_file(const char* filename); void allocate(); }; } #endif #endif /* ---------------------------------------------------------------------- * Spline-based Modified Embedded Atom method (MEAM) potential routine. * * Copyright (2011) Lawrence Livermore National Security, LLC. * Produced at the Lawrence Livermore National Laboratory. * Written by Alexander Stukowski (). * LLNL-CODE-525797 All rights reserved. * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License (as published by the Free * Software Foundation) version 2, dated June 1991. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the * GNU General Public License for more details. * * Our Preamble Notice * A. This notice is required to be provided under our contract with the * U.S. Department of Energy (DOE). This work was produced at the * Lawrence Livermore National Laboratory under Contract No. * DE-AC52-07NA27344 with the DOE. * * B. Neither the United States Government nor Lawrence Livermore National * Security, LLC nor any of their employees, makes any warranty, express or * implied, or assumes any liability or responsibility for the accuracy, * completeness, or usefulness of any information, apparatus, product, or * process disclosed, or represents that its use would not infringe * privately-owned rights. * * C. Also, reference herein to any specific commercial products, process, * or services by trade name, trademark, manufacturer or otherwise does not * necessarily constitute or imply its endorsement, recommendation, or * favoring by the United States Government or Lawrence Livermore National * Security, LLC. The views and opinions of authors expressed herein do not * necessarily state or reflect those of the United States Government or * Lawrence Livermore National Security, LLC, and shall not be used for * advertising or product endorsement purposes. * * See file 'pair_spline_meam.cpp' for history of changes. ------------------------------------------------------------------------- */ diff --git a/src/USER-MISC/pair_meam_sw_spline.h b/src/USER-MISC/pair_meam_sw_spline.h index 2413ac7bf..23dd1724f 100644 --- a/src/USER-MISC/pair_meam_sw_spline.h +++ b/src/USER-MISC/pair_meam_sw_spline.h @@ -1,510 +1,510 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- see LLNL copyright notice at bottom of file ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(meam/sw/spline,PairMEAMSWSpline) #else #ifndef LMP_PAIR_MEAM_SW_SPLINE_H #define LMP_PAIR_MEAM_SW_SPLINE_H #include "pair.h" namespace LAMMPS_NS { /// Set this to 1 if you intend to use MEAM potentials with non-uniform spline knots. /// Set this to 0 if you intend to use only MEAM potentials with spline knots on a uniform grid. /// /// With SUPPORT_NON_GRID_SPLINES == 0, the code runs about 50% faster. #define SPLINE_MEAMSW_SUPPORT_NON_GRID_SPLINES 0 class PairMEAMSWSpline : public Pair { public: PairMEAMSWSpline(class LAMMPS *); virtual ~PairMEAMSWSpline(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); void init_list(int, class NeighList *); double init_one(int, int); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); double memory_usage(); protected: char **elements; // names of unique elements int *map; // mapping from atom types to elements int nelements; // # of unique elements class SplineFunction { public: /// Default constructor. SplineFunction() : X(NULL), Xs(NULL), Y(NULL), Y2(NULL), Ydelta(NULL), N(0) {} /// Destructor. ~SplineFunction() { delete[] X; delete[] Xs; delete[] Y; delete[] Y2; delete[] Ydelta; } /// Initialization of spline function. void init(int _N, double _deriv0, double _derivN) { N = _N; deriv0 = _deriv0; derivN = _derivN; delete[] X; delete[] Xs; delete[] Y; delete[] Y2; delete[] Ydelta; X = new double[N]; Xs = new double[N]; Y = new double[N]; Y2 = new double[N]; Ydelta = new double[N]; } /// Adds a knot to the spline. void setKnot(int n, double x, double y) { X[n] = x; Y[n] = y; } /// Returns the number of knots. int numKnots() const { return N; } /// Parses the spline knots from a text file. void parse(FILE* fp, Error* error); /// Calculates the second derivatives of the cubic spline. void prepareSpline(Error* error); /// Evaluates the spline function at position x. inline double eval(double x) const { x -= xmin; if(x <= 0.0) { // Left extrapolation. return Y[0] + deriv0 * x; } else if(x >= xmax_shifted) { // Right extrapolation. return Y[N-1] + derivN * (x - xmax_shifted); } else { #if SPLINE_MEAMSW_SUPPORT_NON_GRID_SPLINES // Do interval search. int klo = 0; int khi = N-1; while(khi - klo > 1) { int k = (khi + klo) / 2; if(Xs[k] > x) khi = k; else klo = k; } double h = Xs[khi] - Xs[klo]; // Do spline interpolation. double a = (Xs[khi] - x)/h; double b = 1.0 - a; // = (x - X[klo])/h return a * Y[klo] + b * Y[khi] + ((a*a*a - a) * Y2[klo] + (b*b*b - b) * Y2[khi])*(h*h)/6.0; #else // For a spline with grid points, we can directly calculate the interval X is in. // int klo = (int)(x / h); if ( klo > N - 2 ) klo = N - 2; int khi = klo + 1; double a = Xs[khi] - x; double b = h - a; return Y[khi] - a * Ydelta[klo] + ((a*a - hsq) * a * Y2[klo] + (b*b - hsq) * b * Y2[khi]); #endif } } /// Evaluates the spline function and its first derivative at position x. inline double eval(double x, double& deriv) const { x -= xmin; if(x <= 0.0) { // Left extrapolation. deriv = deriv0; return Y[0] + deriv0 * x; } else if(x >= xmax_shifted) { // Right extrapolation. deriv = derivN; return Y[N-1] + derivN * (x - xmax_shifted); } else { #if SPLINE_MEAMSW_SUPPORT_NON_GRID_SPLINES // Do interval search. int klo = 0; int khi = N-1; while(khi - klo > 1) { int k = (khi + klo) / 2; if(Xs[k] > x) khi = k; else klo = k; } double h = Xs[khi] - Xs[klo]; // Do spline interpolation. double a = (Xs[khi] - x)/h; double b = 1.0 - a; // = (x - X[klo])/h deriv = (Y[khi] - Y[klo]) / h + ((3.0*b*b - 1.0) * Y2[khi] - (3.0*a*a - 1.0) * Y2[klo]) * h / 6.0; return a * Y[klo] + b * Y[khi] + ((a*a*a - a) * Y2[klo] + (b*b*b - b) * Y2[khi]) * (h*h) / 6.0; #else // For a spline with grid points, we can directly calculate the interval X is in. int klo = (int)(x / h); if ( klo > N - 2 ) klo = N - 2; int khi = klo + 1; double a = Xs[khi] - x; double b = h - a; deriv = Ydelta[klo] + ((3.0*b*b - hsq) * Y2[khi] - (3.0*a*a - hsq) * Y2[klo]); return Y[khi] - a * Ydelta[klo] + ((a*a - hsq) * a * Y2[klo] + (b*b - hsq) * b * Y2[khi]); #endif } } /// Returns the number of bytes used by this function object. double memory_usage() const { return sizeof(*this) + sizeof(X[0]) * N * 3; } /// Returns the cutoff radius of this function. double cutoff() const { return X[N-1]; } /// Writes a Gnuplot script that plots the spline function. void writeGnuplot(const char* filename, const char* title = NULL) const; /// Broadcasts the spline function parameters to all processors. void communicate(MPI_Comm& world, int me); private: double* X; // Positions of spline knots double* Xs; // Shifted positions of spline knots double* Y; // Function values at spline knots double* Y2; // Second derivatives at spline knots double* Ydelta; // If this is a grid spline, Ydelta[i] = (Y[i+1]-Y[i])/h int N; // Number of spline knots double deriv0; // First derivative at knot 0 double derivN; // First derivative at knot (N-1) double xmin; // The beginning of the interval on which the spline function is defined. double xmax; // The end of the interval on which the spline function is defined. int isGridSpline; // Indicates that all spline knots are on a regular grid. double h; // The distance between knots if this is a grid spline with equidistant knots. double hsq; // The squared distance between knots if this is a grid spline with equidistant knots. double xmax_shifted; // The end of the spline interval after it has been shifted to begin at X=0. }; /// Helper data structure for potential routine. struct MEAM2Body { int tag; double r; double f, fprime; double F, Fprime; double del[3]; }; SplineFunction phi; // Phi(r_ij) SplineFunction rho; // Rho(r_ij) SplineFunction f; // f(r_ij) SplineFunction U; // U(rho) SplineFunction g; // g(cos_theta) SplineFunction F; // F(r_ij) SplineFunction G; // G(cos_theta) double zero_atom_energy; // Shift embedding energy by this value to make it zero for a single atom in vacuum. double cutoff; // The cutoff radius double* Uprime_values; // Used for temporary storage of U'(rho) values int nmax; // Size of temporary array. int maxNeighbors; // The last maximum number of neighbors a single atoms has. MEAM2Body* twoBodyInfo; // Temporary array. void read_file(const char* filename); void allocate(); }; } #endif #endif /* ---------------------------------------------------------------------- * Spline-based Modified Embedded Atom Method plus * Stillinger-Weber (MEAM+SW) potential routine. * * Copyright (2012) Lawrence Livermore National Security, LLC. * Produced at the Lawrence Livermore National Laboratory. * Written by Robert E. Rudd (). * Based on the spline MEAM routine written by Alexander Stukowski * (). * LLNL-CODE-588032 All rights reserved. * * The spline-based MEAM+SW format was first devised and used to develop * potentials for bcc transition metals by Jeremy Nicklas, Michael Fellinger, * and Hyoungki Park at The Ohio State University. * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License (as published by the Free * Software Foundation) version 2, dated June 1991. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the terms and conditions of the * GNU General Public License for more details. * * Our Preamble Notice * A. This notice is required to be provided under our contract with the * U.S. Department of Energy (DOE). This work was produced at the * Lawrence Livermore National Laboratory under Contract No. * DE-AC52-07NA27344 with the DOE. * * B. Neither the United States Government nor Lawrence Livermore National * Security, LLC nor any of their employees, makes any warranty, express or * implied, or assumes any liability or responsibility for the accuracy, * completeness, or usefulness of any information, apparatus, product, or * process disclosed, or represents that its use would not infringe * privately-owned rights. * * C. Also, reference herein to any specific commercial products, process, * or services by trade name, trademark, manufacturer or otherwise does not * necessarily constitute or imply its endorsement, recommendation, or * favoring by the United States Government or Lawrence Livermore National * Security, LLC. The views and opinions of authors expressed herein do not * necessarily state or reflect those of the United States Government or * Lawrence Livermore National Security, LLC, and shall not be used for * advertising or product endorsement purposes. * * The precise terms and conditions for copying, distribution and modification * follows. * * GNU Terms and Conditions for Copying, Distribution, and Modification * * 0. This License applies to any program or other work which contains a * notice placed by the copyright holder saying it may be distributed under * the terms of this General Public License. The "Program," below, refers to * any such program or work, and a "work based on the Program" means either * the Program or any derivative work under copyright law: that is to say, a * work containing the Program or a portion of it, either verbatim or with * modifications and/or translated into another language. (Hereinafter, * translation is included without limitation in the term "modification".) * Each licensee is addressed as "you." * * Activities other than copying, distribution and modification are not * covered by this License; they are outside its scope. The act of running * the Program is not restricted, and the output from the Program is covered * only if its contents constitute a work based on the Program (independent of * having been made by running the Program). Whether that is true depends on * what the Program does. * * 1. You may copy and distribute verbatim copies of the Program's source * code as you receive it, in any medium, provided that you conspicuously and * appropriately publish on each copy an appropriate copyright notice and * disclaimer of warranty; keep intact all the notices that refer to this * License and to the absence of any warranty; and give any other recipients * of the Program a copy of this License along with the Program. * * You may charge a fee for the physical act of transferring a copy, and you * may at your option offer warranty protection in exchange for a fee. * * 2. You may modify your copy or copies of the Program or any portion of it, * thus forming a work based on the Program, and copy and distribute such * modifications or work under the terms of Section 1 above, provided that you * also meet all of these conditions: * * a) You must cause the modified files to carry prominent notices stating * that you changed the files and the date of any change. * * b) You must cause any work that you distribute or publish, that in whole * or in part contains or is derived from the Program or any part thereof, to * be licensed as a whole at no charge to all third parties under the terms * of this License. * * c) If the modified program normally reads commands interactively when * run, you must cause it, when started running for such interactive use in * the most ordinary way, to print or display an announcement including an * appropriate copyright notice and a notice that there is no warranty (or * else, saying that you provide a warranty) and that users may redistribute * the program under these conditions, and telling the user how to view a * copy of this License. (Exception: if the Program itself is interactive * but does not normally print such an announcement, your work based on the * Program is not required to print an announcement.) * * These requirements apply to the modified work as a whole. If * identifiable sections of that work are not derived from the Program, and * can be reasonably considered independent and separate works in * themselves, then this License, and its terms, do not apply to those * sections when you distribute them as separate work. But when you * distribute the same section as part of a whole which is a work based on * the Program, the distribution of the whole must be on the terms of this * License, whose permissions for other licensees extend to the entire * whole, and thus to each and every part regardless of who wrote it. * * Thus, it is not the intent of this section to claim rights or contest * your rights to work written entirely by you; rather, the intent is to * exercise the right to control the distribution of derivative or * collective works based on the Program. * * In addition, mere aggregation of another work not based on the Program * with the Program (or with a work based on the Program) on a volume of a * storage or distribution medium does not bring the other work under the * scope of this License. * * 3. You may copy and distribute the Program (or a work based on it, under * Section 2) in object code or executable form under the terms of Sections * 1 and 2 above provided that you also do one of the following: * * a) Accompany it with the complete corresponding machine-readable source * code, which must be distributed under the terms of Sections 1 and 2 above * on a medium customarily used for software interchange; or, * * b) Accompany it with a written offer, valid for at least three years, * to give any third party, for a charge no more than your cost of * physically performing source distribution, a complete machine-readable * copy of the corresponding source code, to be distributed under the terms * of Sections 1 and 2 above on a medium customarily used for software * interchange; or, * * c) Accompany it with the information you received as to the offer to * distribute corresponding source code. (This alternative is allowed only * for noncommercial distribution and only if you received the program in * object code or executable form with such an offer, in accord with * Subsection b above.) * * The source code for a work means the preferred form the work for making * modifications to it. For an executable work, complete source code means * all the source code for all modules it contains, plus any associated * interface definition files, plus the scripts used to control compilation * and installation of the executable. However, as a special exception, the * source code distributed need not include anything that is normally * distributed (in either source or binary form) with the major components * (compiler, kernel, and so on) of the operating system on which the * executable runs, unless that component itself accompanies the executable. * * If distribution of executable or object code is made by offering access to * copy from a designated place, then offering equivalent access to copy the * source code from the same place counts as distribution of the source code, * even though third parties are not compelled to copy the source along with * the object code. * * 4. You may not copy, modify, sublicense, or distribute the Program except * as expressly provided under this License. Any attempt otherwise to copy, * modify, sublicense or distribute the Program is void, and will * automatically terminate your rights under this License. However, parties * who have received copies, or rights, from you under this License will not * have their licenses terminated so long as such parties remain in full * compliance. * * 5. You are not required to accept this License, since you have not signed * it. However, nothing else grants you permission to modify or distribute * the Program or its derivative works. These actions are prohibited by law * if you do not accept this License. Therefore, by modifying or distributing * the Program (or any work based on the Program), you indicate your * acceptance of this License to do so, and all its terms and conditions for * copying, distributing or modifying the Program or works based on it. * * 6. Each time you redistribute the Program (or any work based on the * Program), the recipient automatically receives a license from the original * licensor to copy, distribute or modify the Program subject to these terms * and conditions. You may not impose any further restrictions on the * recipients' exercise of the rights granted herein. You are not responsible * for enforcing compliance by third parties to this License. * * 7. If, as a consequence of a court judgment or allegation of patent * infringement or for any other reason (not limited to patent * issues), conditions are imposed on you (whether by court * order, agreement or otherwise) that contradict the conditions * of this License, they do not excuse you from the conditions * of this License. If you cannot distribute so as to satisfy * simultaneously your obligations under this License and any other pertinent * obligations, then as a consequence you may not distribute the Program at * all. For example, if a patent license would not permit royalty-free * redistribution of the Program by all those who receive copies directly or * indirectly through you, then the only way you could satisfy both it and * this License would be to refrain entirely from distribution of the Program. * * If any portion of this section is held invalid or unenforceable under any * particular circumstance, the balance of the section is intended to apply * and the section as a whole is intended to apply in other circumstances. * * It is not the purpose to this section to induce you to infringe any patents * or other property right claims or to contest validity of any such claims; * this section has the sole purpose of protecting the integrity of the free * software distribution system, which is implemented by public license * practices. Many people have made generous contributions to the wide range * of software distributed through that system in reliance on consistent * application of that system; it is up to the author/donor to decide if he or * she is willing to distribute software through any other system and a * licensee cannot impose that choice. * * This section is intended to make thoroughly clear what is believed to be a * consequence of the rest of this License. * * 8. If the distribution and/or use of the Program is restricted in certain * countries either by patents or by copyrighted interfaces, the original * copyright holder who places the Program under this License may add an * explicit geographical distribution limitation excluding those countries, so * that distribution is permitted only in or among countries not thus * excluded. In such case, this License incorporates the limitation as if * written in the body of this License. * * 9. The Free Software Foundation may publish revised and/or new versions of * the General Public License from time to time. Such new versions will be * similar in spirit to the present version, but may differ in detail to * address new problems or concerns. * * Each version is given a distinguishing version number. If the Program * specifies a version number of this License which applies to it and "any * later version," you have the option of following the terms and conditions * either of that version of any later version published by the Free Software * Foundation. If the Program does not specify a version number of this * License, you may choose any version ever published by the Free Software * Foundation. * * 10. If you wish to incorporate parts of the Program into other free * programs whose distribution conditions are different, write to the author * to ask for permission. For software which is copyrighted by the Free * Software Foundation, write to the Free Software Foundation; we sometimes * make exceptions for this. Our decision to grant permission will be guided * by the two goals of preserving the free status of all derivatives of our * free software and or promoting the sharing and reuse of software generally. * * NO WARRANTY * * 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY * FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN * OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES * PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED * OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS * TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE * PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, * REPAIR OR CORRECTION. * * 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING * WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR * REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, * INCLUDING ANY GENERAL, SPECIAL INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING * OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED * TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY * YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER * PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. * * END OF TERMS AND CONDITIONS ------------------------------------------------------------------------- */ diff --git a/src/USER-MISC/pair_tersoff_table.h b/src/USER-MISC/pair_tersoff_table.h index 681a22181..da674fcaa 100644 --- a/src/USER-MISC/pair_tersoff_table.h +++ b/src/USER-MISC/pair_tersoff_table.h @@ -1,94 +1,94 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- Contributing author: Luca Ferraro (CASPUR) email: luca.ferraro@caspur.it Tersoff Potential References: 1) Tersoff, Phys. Rev. B 39, 5566 (1988) ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(tersoff/table,PairTersoffTable) #else #ifndef LMP_PAIR_TERSOFF_TABLE_H #define LMP_PAIR_TERSOFF_TABLE_H #include "pair.h" namespace LAMMPS_NS { class PairTersoffTable : public Pair { public: PairTersoffTable(class LAMMPS *); virtual ~PairTersoffTable(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); void init_style(); protected: struct Param { double lam1,lam2,lam3; double c,d,h; double gamma,powerm; double powern,beta; double biga,bigb,cutoffR, cutoffS; double cut,cutsq; int ielement,jelement,kelement; int powermint; }; double cutmax; // max cutoff for all elements int nelements; // # of unique elements char **elements; // names of unique elements int ***elem2param; // mapping from element triplets to parameters int *map; // mapping from atom types to elements int nparams; // # of stored parameter sets int maxparam; // max # of parameter sets Param *params; // parameter set for an I-J-K interaction void allocate(); void read_file(char *); void setup(); // pre-loop coordination functions double **preGtetaFunction, **preGtetaFunctionDerived; double *preCutoffFunction, *preCutoffFunctionDerived; virtual void allocatePreLoops(void); virtual void deallocatePreLoops(void); // grids double minArgumentExponential; double *exponential, ***cutoffFunction, ***cutoffFunctionDerived; double **gtetaFunction, **gtetaFunctionDerived; double **betaZetaPower, **betaZetaPowerDerived; void allocateGrids(void); void deallocateGrids(void); }; } #endif #endif diff --git a/src/USER-OMP/fix_gravity_omp.h b/src/USER-OMP/fix_gravity_omp.h index ca104a1a9..6bd1c64d9 100644 --- a/src/USER-OMP/fix_gravity_omp.h +++ b/src/USER-OMP/fix_gravity_omp.h @@ -1,38 +1,38 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(gravity/omp,FixGravityOMP) #else #ifndef LMP_FIX_GRAVITY_OMP_H #define LMP_FIX_GRAVITY_OMP_H #include "fix_gravity.h" namespace LAMMPS_NS { class FixGravityOMP : public FixGravity { public: FixGravityOMP(class LAMMPS *, int, char **); virtual void post_force(int); virtual void post_force_respa(int, int, int); }; } #endif #endif diff --git a/src/USER-OMP/fix_peri_neigh_omp.h b/src/USER-OMP/fix_peri_neigh_omp.h index 6d91f39be..77cc35777 100644 --- a/src/USER-OMP/fix_peri_neigh_omp.h +++ b/src/USER-OMP/fix_peri_neigh_omp.h @@ -1,38 +1,38 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(PERI_NEIGH_OMP,FixPeriNeighOMP) #else #ifndef LMP_FIX_PERI_NEIGH_OMP_H #define LMP_FIX_PERI_NEIGH_OMP_H #include "fix_peri_neigh.h" namespace LAMMPS_NS { class FixPeriNeighOMP : public FixPeriNeigh { public: FixPeriNeighOMP(class LAMMPS *lmp, int narg, char **argv) : FixPeriNeigh(lmp,narg,argv) {}; virtual void init(); }; } #endif #endif diff --git a/src/USER-OMP/fix_shear_history_omp.h b/src/USER-OMP/fix_shear_history_omp.h index aa581ff6a..95281b2af 100644 --- a/src/USER-OMP/fix_shear_history_omp.h +++ b/src/USER-OMP/fix_shear_history_omp.h @@ -1,38 +1,38 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(SHEAR_HISTORY/omp,FixShearHistoryOMP) #else #ifndef LMP_FIX_SHEAR_HISTORY_OMP_H #define LMP_FIX_SHEAR_HISTORY_OMP_H #include "fix_shear_history.h" namespace LAMMPS_NS { class FixShearHistoryOMP : public FixShearHistory { public: FixShearHistoryOMP(class LAMMPS *lmp, int narg, char **argv) : FixShearHistory(lmp,narg,argv) {}; virtual void pre_exchange(); }; } #endif #endif diff --git a/src/USER-OMP/pair_eam_alloy_omp.h b/src/USER-OMP/pair_eam_alloy_omp.h index a044b18f6..6521d3e5a 100644 --- a/src/USER-OMP/pair_eam_alloy_omp.h +++ b/src/USER-OMP/pair_eam_alloy_omp.h @@ -1,43 +1,43 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(eam/alloy/omp,PairEAMAlloyOMP) #else #ifndef LMP_PAIR_EAM_ALLOY_OMP_H #define LMP_PAIR_EAM_ALLOY_OMP_H #include "pair_eam_omp.h" namespace LAMMPS_NS { // need virtual public b/c of how eam/alloy/opt inherits from it class PairEAMAlloyOMP : virtual public PairEAMOMP { public: PairEAMAlloyOMP(class LAMMPS *); virtual ~PairEAMAlloyOMP() {} void coeff(int, char **); protected: void read_file(char *); void file2array(); }; } #endif #endif diff --git a/src/USER-OMP/pair_eam_fs_omp.h b/src/USER-OMP/pair_eam_fs_omp.h index 42d4d59eb..c311f51cf 100644 --- a/src/USER-OMP/pair_eam_fs_omp.h +++ b/src/USER-OMP/pair_eam_fs_omp.h @@ -1,43 +1,43 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(eam/fs/omp,PairEAMFSOMP) #else #ifndef LMP_PAIR_EAM_FS_OMP_H #define LMP_PAIR_EAM_FS_OMP_H #include "pair_eam_omp.h" namespace LAMMPS_NS { // need virtual public b/c of how eam/fs/opt inherits from it class PairEAMFSOMP : virtual public PairEAMOMP { public: PairEAMFSOMP(class LAMMPS *); virtual ~PairEAMFSOMP() {} void coeff(int, char **); protected: void read_file(char *); void file2array(); }; } #endif #endif diff --git a/src/USER-OMP/pair_rebo_omp.h b/src/USER-OMP/pair_rebo_omp.h index 685c5d26a..9ff28a260 100644 --- a/src/USER-OMP/pair_rebo_omp.h +++ b/src/USER-OMP/pair_rebo_omp.h @@ -1,36 +1,36 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(rebo/omp,PairREBOOMP) #else #ifndef LMP_PAIR_REBO_OMP_H #define LMP_PAIR_REBO_OMP_H #include "pair_airebo_omp.h" namespace LAMMPS_NS { class PairREBOOMP : public PairAIREBOOMP { public: PairREBOOMP(class LAMMPS *); virtual void settings(int, char **); }; } #endif #endif diff --git a/src/USER-PHONON/fix_phonon.h b/src/USER-PHONON/fix_phonon.h index 910f06e60..891235cfe 100644 --- a/src/USER-PHONON/fix_phonon.h +++ b/src/USER-PHONON/fix_phonon.h @@ -1,187 +1,187 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator www.cs.sandia.gov/~sjplimp/lammps.html Steve Plimpton, sjplimp@sandia.gov, Sandia National Laboratories Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- Contributing authors: Ling-Ti Kong Contact: School of Materials Science and Engineering, Shanghai Jiao Tong University, 800 Dongchuan Road, Minhang, Shanghai 200240, CHINA konglt@sjtu.edu.cn; konglt@gmail.com ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(phonon,FixPhonon) #else #ifndef FIX_PHONON_H #define FIX_PHONON_H #include #include "fix.h" #include #include "stdio.h" #include "stdlib.h" #include "string.h" namespace LAMMPS_NS { class FixPhonon : public Fix { public: FixPhonon(class LAMMPS *, int, char **); ~FixPhonon(); int setmask(); void init(); void setup(int); void end_of_step(); void post_run(); double memory_usage(); int modify_param(int, char **); private: int me,nprocs; bigint waitsteps; // wait these number of timesteps before recording atom positions bigint prev_nstep; // number of steps from previous run(s); to judge if waitsteps is reached. int nfreq, ifreq; // after this number of measurement (nfreq), the result will be output once int nx,ny,nz,nucell,ntotal; // surface dimensions in x- and y-direction, number of atom per unit surface cell int neval; // # of evaluations int sysdim; // system dimension int ngroup, nfind; // total number of atoms in group; total number of atoms on this proc char *prefix, *logfile; // prefix of output file names FILE *flog; double *M_inv_sqrt; class FFT3d *fft; // to do fft via the fft3d wraper int nxlo,nxhi,mysize; // size info for local MPI_FFTW int mynpt,mynq,fft_nsend; int *fft_cnts, *fft_disp; int fft_dim, fft_dim2; double *fft_data; tagint itag; // index variables int idx, idq; // more index variables std::map tag2surf; // Mapping info std::map surf2tag; // more Mapping info double **RIloc; // R(r) and index on local proc double **RIall; // gathered R(r) and index double **Rsort; // sorted R(r) double **Rnow; // Current R(r) on local proc double **Rsum; // Accumulated R(r) on local proc int *recvcnts, *displs; // MPI related variables std::complex **Rqnow; // Current R(q) on local proc std::complex **Rqsum; // Accumulator for conj(R(q)_alpha)*R(q)_beta std::complex **Phi_q; // Phi's on local proc std::complex **Phi_all; // Phi for all void readmap(); // to read the mapping of gf atoms char *mapfile; // file name of the map file void getmass(); // to get the mass of each atom in a unit cell int nasr; void postprocess(); // to post process the data void EnforceASR(); // to apply acoustic sum rule to gamma point force constant matrix char *id_temp; // compute id for temperature double *TempSum; // to get the average temperature vector double inv_nTemp; // inverse of number of atoms in temperature group class Compute *temperature; // compute that computes the temperature double hsum[6], **basis; int *basetype; // private methods to do matrix inversion void GaussJordan(int, std::complex*); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal fix phonon command... 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: No atom found for fix phonon! Self-explanatory. Number of atoms in the group that was passed to fix-phonon is less than 1. E: Can not open output file %s" Self-explanatory. E: Illegal fix_modify command Self-explanatory. E: Could not find fix_modify temp ID Self-explanatory. E: Fix_modify temp ID does not compute temperature Self-explanatory. E: Cannot open input map file %s Self-explanatory. E: Error while reading header of mapping file! Self-explanatory. The first line of the map file is expected to contain 4 positive integer numbers. E: FFT mesh and number of atoms in group mismatch! Self-explanatory. The product of the 4 numbers should be exactly the total number of atoms in the group that was passed to fix-phonon. E: Error while reading comment of mapping file! Self-explanatory. The second line of the map file should be a comment line. E: The mapping is incomplete! Self-explanatory. E: Error while reading mapping file! Self-explanatory. E: The mapping info read is incorrect! Self-explanatory. E: Singular matrix in complex GaussJordan! Self-explanatory. W: More than one fix phonon defined Self-explanatory. Just to warn that more than one fix-phonon is defined, but allowed. */ diff --git a/src/USER-REAXC/compute_spec_atom.h b/src/USER-REAXC/compute_spec_atom.h index 50e464316..908ae3077 100644 --- a/src/USER-REAXC/compute_spec_atom.h +++ b/src/USER-REAXC/compute_spec_atom.h @@ -1,104 +1,104 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Labo0ratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(SPEC/ATOM,ComputeSpecAtom) #else #ifndef LMP_COMPUTE_SPEC_ATOM_H #define LMP_COMPUTE_SPEC_ATOM_H #include "compute.h" #include "pointers.h" namespace LAMMPS_NS { class ComputeSpecAtom : public Compute { public: ComputeSpecAtom(class LAMMPS *, int, char **); ~ComputeSpecAtom(); void init() {} void compute_peratom(); double memory_usage(); private: int nvalues; int nmax; double *vector; double **array; double *buf; double *vbuf; typedef void (ComputeSpecAtom::*FnPtrPack)(int); FnPtrPack *pack_choice; void pack_q(int); void pack_x(int); void pack_y(int); void pack_z(int); void pack_vx(int); void pack_vy(int); void pack_vz(int); void pack_abo01(int); void pack_abo02(int); void pack_abo03(int); void pack_abo04(int); void pack_abo05(int); void pack_abo06(int); void pack_abo07(int); void pack_abo08(int); void pack_abo09(int); void pack_abo10(int); void pack_abo11(int); void pack_abo12(int); void pack_abo13(int); void pack_abo14(int); void pack_abo15(int); void pack_abo16(int); void pack_abo17(int); void pack_abo18(int); void pack_abo19(int); void pack_abo20(int); void pack_abo21(int); void pack_abo22(int); void pack_abo23(int); void pack_abo24(int); class PairReaxC *reaxc; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute reaxc/atom for atom reaxc that isn't allocated Self-explanatory. E: Invalid keyword in compute reaxc/atom command Self-explanatory. */ diff --git a/src/USER-REAXC/fix_qeq_reax.h b/src/USER-REAXC/fix_qeq_reax.h index 4e0cc702b..d41638d62 100644 --- a/src/USER-REAXC/fix_qeq_reax.h +++ b/src/USER-REAXC/fix_qeq_reax.h @@ -1,144 +1,144 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- Contributing author: Hasan Metin Aktulga, Purdue University (now at Lawrence Berkeley National Laboratory, hmaktulga@lbl.gov) Please cite the related publication: H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, "Parallel Reactive Molecular Dynamics: Numerical Methods and Algorithmic Techniques", Parallel Computing, in press. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(qeq/reax,FixQEqReax) #else #ifndef LMP_FIX_QEQ_REAX_H #define LMP_FIX_QEQ_REAX_H #include "fix.h" namespace LAMMPS_NS { class FixQEqReax : public Fix { public: FixQEqReax(class LAMMPS *, int, char **); ~FixQEqReax(); int setmask(); void init(); void init_list(int,class NeighList *); void init_storage(); void setup_pre_force(int); void pre_force(int); void setup_pre_force_respa(int, int); void pre_force_respa(int, int, int); void min_setup_pre_force(int); void min_pre_force(int); int matvecs; double qeq_time; private: int nevery,reaxflag; int n, N, m_fill; int n_cap, nmax, m_cap; int pack_flag; int nlevels_respa; class NeighList *list; class PairReaxC *reaxc; double swa, swb; // lower/upper Taper cutoff radius double Tap[8]; // Taper function double tolerance; // tolerance for the norm of the rel residual in CG double *chi,*eta,*gamma; // qeq parameters double **shld; bigint ngroup; // fictitious charges double *s, *t; double **s_hist, **t_hist; int nprev; typedef struct{ int n, m; int *firstnbr; int *numnbrs; int *jlist; double *val; } sparse_matrix; sparse_matrix H; double *Hdia_inv; double *b_s, *b_t; double *b_prc, *b_prm; //CG storage double *p, *q, *r, *d; //GMRES storage //double *g,*y; //double **v; //double **h; //double *hc, *hs; void pertype_parameters(char*); void init_shielding(); void init_taper(); void allocate_storage(); void deallocate_storage(); void reallocate_storage(); void allocate_matrix(); void deallocate_matrix(); void reallocate_matrix(); void init_matvec(); void init_H(); void compute_H(); double calculate_H(double,double); void calculate_Q(); int CG(double*,double*); //int GMRES(double*,double*); void sparse_matvec(sparse_matrix*,double*,double*); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); int pack_exchange(int, double *); int unpack_exchange(int, double *); double parallel_norm( double*, int ); double parallel_dot( double*, double*, int ); double parallel_vector_acc( double*, int ); void vector_sum(double*,double,double*,double,double*,int); void vector_add(double*, double, double*,int); }; } #endif #endif diff --git a/src/USER-REAXC/fix_reax_c.h b/src/USER-REAXC/fix_reax_c.h index 789a35e64..e51a94e4a 100644 --- a/src/USER-REAXC/fix_reax_c.h +++ b/src/USER-REAXC/fix_reax_c.h @@ -1,63 +1,63 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- Contributing author: Hasan Metin Aktulga, Purdue University (now at Lawrence Berkeley National Laboratory, hmaktulga@lbl.gov) Please cite the related publication: H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, "Parallel Reactive Molecular Dynamics: Numerical Methods and Algorithmic Techniques", Parallel Computing, in press. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(REAXC,FixReaxC) #else #ifndef LMP_FIX_REAXC_H #define LMP_FIX_REAXC_H #include "fix.h" namespace LAMMPS_NS { class FixReaxC : public Fix { friend class PairReaxC; public: FixReaxC(class LAMMPS *,int, char **); ~FixReaxC(); int setmask(); double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); int pack_exchange(int, double *); int unpack_exchange(int, double *); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); private: int maxbonds; // max # of bonds for any atom int maxhbonds; // max # of Hbonds for any atom int *num_bonds; // # of bonds for each atom int *num_hbonds; // # of Hbonds for each atom }; } #endif #endif diff --git a/src/USER-REAXC/fix_reaxc_bonds.h b/src/USER-REAXC/fix_reaxc_bonds.h index d7927ccae..a5f4a6304 100644 --- a/src/USER-REAXC/fix_reaxc_bonds.h +++ b/src/USER-REAXC/fix_reaxc_bonds.h @@ -1,62 +1,62 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(reax/c/bonds,FixReaxCBonds) #else #ifndef LMP_FIX_REAXC_BONDS_H #define LMP_FIX_REAXC_BONDS_H #include "stdio.h" #include "fix.h" #include "pointers.h" namespace LAMMPS_NS { class FixReaxCBonds : public Fix { public: FixReaxCBonds(class LAMMPS *, int, char **); ~FixReaxCBonds(); int setmask(); void init(); void setup(int); void end_of_step(); private: int me, nprocs, nmax, ntypes, maxsize; int *numneigh; tagint **neighid; double **abo; FILE *fp; void allocate(); void destroy(); void Output_ReaxC_Bonds(bigint, FILE *); void FindBond(struct _reax_list*, int &); void PassBuffer(double *, int &); void RecvBuffer(double *, int, int, int, int); int nint(const double &); double memory_usage(); bigint nvalid, nextvalid(); struct _reax_list *lists; class PairReaxC *reaxc; class NeighList *list; }; } #endif #endif diff --git a/src/USER-REAXC/fix_reaxc_species.h b/src/USER-REAXC/fix_reaxc_species.h index 721eb79ac..43d59a0f8 100644 --- a/src/USER-REAXC/fix_reaxc_species.h +++ b/src/USER-REAXC/fix_reaxc_species.h @@ -1,93 +1,93 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(reax/c/species,FixReaxCSpecies) #else #ifndef LMP_FIX_REAXC_SPECIES_H #define LMP_FIX_REAXC_SPECIES_H #include "fix.h" #include "pointers.h" #include "pair_reax_c.h" #include "reaxc_types.h" #include "reaxc_defs.h" #define BUFLEN 1000 namespace LAMMPS_NS { typedef struct { double x, y, z; } AtomCoord; class FixReaxCSpecies : public Fix { public: FixReaxCSpecies(class LAMMPS *, int, char **); ~FixReaxCSpecies(); int setmask(); void init(); void init_list(int, class NeighList *); void setup(int); void post_integrate(); double compute_vector(int); private: int me, nprocs, nmax, nlocal, ntypes, ntotal; int nrepeat, nfreq, posfreq; int Nmoltype, vector_nmole, vector_nspec; int *Name, *MolName, *NMol, *nd, *MolType, *molmap; double *clusterID; int *PBCconnected; AtomCoord *x0; double bg_cut; double **BOCut; char **tmparg; FILE *fp, *pos; int eleflag, posflag, multipos, padflag, setupflag; int singlepos_opened, multipos_opened; char *ele, **eletype, *filepos; void Output_ReaxC_Bonds(bigint, FILE *); void create_compute(); void create_fix(); void FindMolecule(); void SortMolecule(int &); void FindSpecies(int, int &); void WriteFormulas(int, int); int CheckExistence(int, int); int nint(const double &); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); void OpenPos(); void WritePos(int, int); double memory_usage(); bigint nvalid; class NeighList *list; class FixAveAtom *f_SPECBOND; class PairReaxC *reaxc; }; } #endif #endif diff --git a/src/USER-REAXC/pair_reax_c.h b/src/USER-REAXC/pair_reax_c.h index 968158f1a..3ddeb781a 100644 --- a/src/USER-REAXC/pair_reax_c.h +++ b/src/USER-REAXC/pair_reax_c.h @@ -1,104 +1,104 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- Contributing author: Hasan Metin Aktulga, Purdue University (now at Lawrence Berkeley National Laboratory, hmaktulga@lbl.gov) Please cite the related publication: H. M. Aktulga, J. C. Fogarty, S. A. Pandit, A. Y. Grama, "Parallel Reactive Molecular Dynamics: Numerical Methods and Algorithmic Techniques", Parallel Computing, in press. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(reax/c,PairReaxC) #else #ifndef LMP_PAIR_REAXC_H #define LMP_PAIR_REAXC_H #include "pair.h" #include "reaxc_types.h" namespace LAMMPS_NS { class PairReaxC : public Pair { public: PairReaxC(class LAMMPS *); ~PairReaxC(); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); void *extract(const char *, int &); int fixbond_flag, fixspecies_flag; int **tmpid; double ** tmpbo, **tmpr; control_params *control; reax_system *system; output_controls *out_control; simulation_data *data; storage *workspace; reax_list *lists; mpi_datatypes *mpi_data; bigint ngroup; private: double cutmax; int nelements; // # of unique elements char **elements; // names of unique elements int *map; class FixReaxC *fix_reax; double *chi,*eta,*gamma; int qeqflag; int setup_flag; int firstwarn; void allocate(); void setup(); void create_compute(); void create_fix(); void write_reax_atoms(); void get_distance(rvec, rvec, double *, rvec *); void set_far_nbr(far_neighbor_data *, int, double, rvec); int estimate_reax_lists(); int write_reax_lists(); void read_reax_forces(int); int nmax; void FindBond(); double memory_usage(); }; } #endif #endif /* ERROR/WARNING messages: E: Too many ghost atoms Number of ghost atoms has increased too much during simulation and has exceeded the size of reax/c arrays. Increase safe_zone and min_cap in pair_style reax/c command */ diff --git a/src/USER-SPH/atom_vec_meso.h b/src/USER-SPH/atom_vec_meso.h index 23c1c927f..da68222e2 100644 --- a/src/USER-SPH/atom_vec_meso.h +++ b/src/USER-SPH/atom_vec_meso.h @@ -1,79 +1,79 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(meso,AtomVecMeso) #else #ifndef LMP_ATOM_VEC_MESO_H #define LMP_ATOM_VEC_MESO_H #include "atom_vec.h" namespace LAMMPS_NS { class AtomVecMeso : public AtomVec { public: AtomVecMeso(class LAMMPS *); ~AtomVecMeso() {} void grow(int); void grow_reset(); void copy(int, int, int); void force_clear(int, size_t); int pack_comm(int, int *, double *, int, int *); int pack_comm_vel(int, int *, double *, int, int *); void unpack_comm(int, int, double *); void unpack_comm_vel(int, int, double *); int pack_reverse(int, int, double *); void unpack_reverse(int, int *, double *); int pack_comm_hybrid(int, int *, double *); int unpack_comm_hybrid(int, int, double *); int pack_border_hybrid(int, int *, double *); int unpack_border_hybrid(int, int, double *); int pack_reverse_hybrid(int, int, double *); int unpack_reverse_hybrid(int, int *, double *); int pack_border(int, int *, double *, int, int *); int pack_border_vel(int, int *, double *, int, int *); void unpack_border(int, int, double *); void unpack_border_vel(int, int, double *); int pack_exchange(int, double *); int unpack_exchange(double *); int size_restart(); int pack_restart(int, double *); int unpack_restart(double *); void create_atom(int, double *); void data_atom(double *, imageint, char **); int data_atom_hybrid(int, char **); void pack_data(double **); int pack_data_hybrid(int, double *); void write_data(FILE *, int, double **); int write_data_hybrid(FILE *, double *); int property_atom(char *); void pack_property_atom(int, double *, int, int); bigint memory_usage(); private: tagint *tag; int *type,*mask; imageint *image; double **x,**v,**f; double *rho, *drho, *e, *de, *cv; double **vest; // estimated velocity during force computation }; } #endif #endif diff --git a/src/USER-SPH/compute_meso_e_atom.h b/src/USER-SPH/compute_meso_e_atom.h index d3a896baf..4113bb612 100644 --- a/src/USER-SPH/compute_meso_e_atom.h +++ b/src/USER-SPH/compute_meso_e_atom.h @@ -1,43 +1,43 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(meso_e/atom,ComputeMesoEAtom) #else #ifndef LMP_COMPUTE_MESO_E_ATOM_H #define LMP_COMPUTE_MESO_E_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputeMesoEAtom : public Compute { public: ComputeMesoEAtom(class LAMMPS *, int, char **); ~ComputeMesoEAtom(); void init(); void compute_peratom(); double memory_usage(); private: int nmax; double *evector; }; } #endif #endif diff --git a/src/USER-SPH/compute_meso_rho_atom.h b/src/USER-SPH/compute_meso_rho_atom.h index 6c51593b2..de7b4c857 100644 --- a/src/USER-SPH/compute_meso_rho_atom.h +++ b/src/USER-SPH/compute_meso_rho_atom.h @@ -1,43 +1,43 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(meso_rho/atom,ComputeMesoRhoAtom) #else #ifndef LMP_COMPUTE_MESO_RHO_ATOM_H #define LMP_COMPUTE_MESO_RHO_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputeMesoRhoAtom : public Compute { public: ComputeMesoRhoAtom(class LAMMPS *, int, char **); ~ComputeMesoRhoAtom(); void init(); void compute_peratom(); double memory_usage(); private: int nmax; double *rhoVector; }; } #endif #endif diff --git a/src/USER-SPH/compute_meso_t_atom.h b/src/USER-SPH/compute_meso_t_atom.h index 6b8c618e0..14bae61b2 100644 --- a/src/USER-SPH/compute_meso_t_atom.h +++ b/src/USER-SPH/compute_meso_t_atom.h @@ -1,43 +1,43 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(meso_t/atom,ComputeMesoTAtom) #else #ifndef LMP_COMPUTE_MESO_T_ATOM_H #define LMP_COMPUTE_MESO_T_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputeMesoTAtom : public Compute { public: ComputeMesoTAtom(class LAMMPS *, int, char **); ~ComputeMesoTAtom(); void init(); void compute_peratom(); double memory_usage(); private: int nmax; double *tvector; }; } #endif #endif diff --git a/src/USER-SPH/fix_meso.h b/src/USER-SPH/fix_meso.h index 40ddebf3e..3eebb0f77 100644 --- a/src/USER-SPH/fix_meso.h +++ b/src/USER-SPH/fix_meso.h @@ -1,50 +1,50 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(meso,FixMeso) #else #ifndef LMP_FIX_MESO_H #define LMP_FIX_MESO_H #include "fix.h" namespace LAMMPS_NS { class FixMeso : public Fix { public: FixMeso(class LAMMPS *, int, char **); int setmask(); virtual void init(); virtual void setup_pre_force(int); virtual void initial_integrate(int); virtual void final_integrate(); void reset_dt(); private: class NeighList *list; protected: double dtv,dtf; double *step_respa; int mass_require; class Pair *pair; }; } #endif #endif diff --git a/src/USER-SPH/fix_meso_stationary.h b/src/USER-SPH/fix_meso_stationary.h index 6cc83f9e9..326c13dcd 100644 --- a/src/USER-SPH/fix_meso_stationary.h +++ b/src/USER-SPH/fix_meso_stationary.h @@ -1,49 +1,49 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(meso/stationary,FixMesoStationary) #else #ifndef LMP_FIX_MESO_STATIONARY_H #define LMP_FIX_MESO_STATIONARY_H #include "fix.h" namespace LAMMPS_NS { class FixMesoStationary : public Fix { public: FixMesoStationary(class LAMMPS *, int, char **); int setmask(); virtual void init(); virtual void initial_integrate(int); virtual void final_integrate(); void reset_dt(); private: class NeighList *list; protected: double dtv,dtf; double *step_respa; int mass_require; class Pair *pair; }; } #endif #endif diff --git a/src/USER-SPH/pair_sph_heatconduction.h b/src/USER-SPH/pair_sph_heatconduction.h index 95b4e845a..c2c7f33d2 100644 --- a/src/USER-SPH/pair_sph_heatconduction.h +++ b/src/USER-SPH/pair_sph_heatconduction.h @@ -1,45 +1,45 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(sph/heatconduction,PairSPHHeatConduction) #else #ifndef LMP_PAIR_SPH_HEATCONDUCTION_H #define LMP_PAIR_SPH_HEATCONDUCTION_H #include "pair.h" namespace LAMMPS_NS { class PairSPHHeatConduction : public Pair { public: PairSPHHeatConduction(class LAMMPS *); virtual ~PairSPHHeatConduction(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); virtual double init_one(int, int); virtual double single(int, int, int, int, double, double, double, double &); protected: double **cut, **alpha; void allocate(); }; } #endif #endif diff --git a/src/USER-SPH/pair_sph_idealgas.h b/src/USER-SPH/pair_sph_idealgas.h index e9d2e9a8b..c47316865 100644 --- a/src/USER-SPH/pair_sph_idealgas.h +++ b/src/USER-SPH/pair_sph_idealgas.h @@ -1,46 +1,46 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(sph/idealgas,PairSPHIdealGas) #else #ifndef LMP_PAIR_IDEALGAS_H #define LMP_PAIR_IDEALGAS_H #include "pair.h" namespace LAMMPS_NS { class PairSPHIdealGas : public Pair { public: PairSPHIdealGas(class LAMMPS *); virtual ~PairSPHIdealGas(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); virtual double init_one(int, int); virtual double single(int, int, int, int, double, double, double, double &); protected: double **cut,**viscosity; void allocate(); }; } #endif #endif diff --git a/src/USER-SPH/pair_sph_lj.h b/src/USER-SPH/pair_sph_lj.h index cb8f8c745..f6a8f73b9 100644 --- a/src/USER-SPH/pair_sph_lj.h +++ b/src/USER-SPH/pair_sph_lj.h @@ -1,48 +1,48 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(sph/lj,PairSPHLJ) #else #ifndef LMP_PAIR_LJ_H #define LMP_PAIR_LJ_H #include "pair.h" namespace LAMMPS_NS { class PairSPHLJ : public Pair { public: PairSPHLJ(class LAMMPS *); virtual ~PairSPHLJ(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); virtual double init_one(int, int); virtual double single(int, int, int, int, double, double, double, double &); //double LJEOS(int); void LJEOS2(double, double, double, double *, double *); protected: double **cut,**viscosity; void allocate(); }; } #endif #endif diff --git a/src/USER-SPH/pair_sph_rhosum.h b/src/USER-SPH/pair_sph_rhosum.h index 35cf73c55..ae6ee74ef 100644 --- a/src/USER-SPH/pair_sph_rhosum.h +++ b/src/USER-SPH/pair_sph_rhosum.h @@ -1,50 +1,50 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(sph/rhosum,PairSPHRhoSum) #else #ifndef LMP_PAIR_SPH_RHOSUM_H #define LMP_PAIR_SPH_RHOSUM_H #include "pair.h" namespace LAMMPS_NS { class PairSPHRhoSum : public Pair { public: PairSPHRhoSum(class LAMMPS *); virtual ~PairSPHRhoSum(); void init_style(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); virtual double init_one(int, int); virtual double single(int, int, int, int, double, double, double, double &); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); protected: double **cut; int nstep, first; void allocate(); }; } #endif #endif diff --git a/src/USER-SPH/pair_sph_taitwater.h b/src/USER-SPH/pair_sph_taitwater.h index 6e90aac53..adcca80b2 100644 --- a/src/USER-SPH/pair_sph_taitwater.h +++ b/src/USER-SPH/pair_sph_taitwater.h @@ -1,48 +1,48 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(sph/taitwater,PairSPHTaitwater) #else #ifndef LMP_PAIR_TAITWATER_H #define LMP_PAIR_TAITWATER_H #include "pair.h" namespace LAMMPS_NS { class PairSPHTaitwater : public Pair { public: PairSPHTaitwater(class LAMMPS *); virtual ~PairSPHTaitwater(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); virtual double init_one(int, int); virtual double single(int, int, int, int, double, double, double, double &); protected: double *rho0, *soundspeed, *B; double **cut,**viscosity; int first; void allocate(); }; } #endif #endif diff --git a/src/USER-SPH/pair_sph_taitwater_morris.h b/src/USER-SPH/pair_sph_taitwater_morris.h index 05568b12d..0a66e0eba 100644 --- a/src/USER-SPH/pair_sph_taitwater_morris.h +++ b/src/USER-SPH/pair_sph_taitwater_morris.h @@ -1,48 +1,48 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(sph/taitwater/morris,PairSPHTaitwaterMorris) #else #ifndef LMP_PAIR_TAITWATER_MORRIS_H #define LMP_PAIR_TAITWATER_MORRIS_H #include "pair.h" namespace LAMMPS_NS { class PairSPHTaitwaterMorris : public Pair { public: PairSPHTaitwaterMorris(class LAMMPS *); virtual ~PairSPHTaitwaterMorris(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); virtual double init_one(int, int); virtual double single(int, int, int, int, double, double, double, double &); protected: double *rho0, *soundspeed, *B; double **cut,**viscosity; int first; void allocate(); }; } #endif #endif diff --git a/src/VORONOI/compute_voronoi_atom.h b/src/VORONOI/compute_voronoi_atom.h index f6026ced0..3bc45891a 100644 --- a/src/VORONOI/compute_voronoi_atom.h +++ b/src/VORONOI/compute_voronoi_atom.h @@ -1,82 +1,82 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(voronoi/atom,ComputeVoronoi) #else #ifndef LMP_COMPUTE_VORONOI_H #define LMP_COMPUTE_VORONOI_H #include "compute.h" #include "voro++.hh" namespace LAMMPS_NS { class ComputeVoronoi : public Compute { public: ComputeVoronoi(class LAMMPS *, int, char **); ~ComputeVoronoi(); void init(); void compute_peratom(); void compute_vector(); double memory_usage(); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); private: voro::container *con_mono; voro::container_poly *con_poly; void buildCells(); void checkOccupation(); void loopCells(); void processCell(voro::voronoicell_neighbor&, int); int nmax, rmax, maxedge, sgroupbit; char *radstr; double fthresh, ethresh; double **voro; double *edge, *sendvector, *rfield; enum { VOROSURF_NONE, VOROSURF_ALL, VOROSURF_GROUP } surface; bool onlyGroup, occupation; tagint *tags; int *occvec, *sendocc, *lroot, *lnext, lmax, oldnatoms, oldnall; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute voronoi/atom not allowed for triclinic boxes This is a current restriction of this command. W: More than one compute voronoi/atom command It is not efficient to use compute voronoi/atom more than once. */ diff --git a/src/accelerator_cuda.h b/src/accelerator_cuda.h index a4d9f6bdf..be8171828 100644 --- a/src/accelerator_cuda.h +++ b/src/accelerator_cuda.h @@ -1,88 +1,88 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_ACCELERATOR_CUDA_H #define LMP_ACCELERATOR_CUDA_H // true interface to USER-CUDA // used when USER-CUDA is installed #ifdef LMP_USER_CUDA #include "user_cuda.h" #include "comm_cuda.h" #include "domain_cuda.h" #include "neighbor_cuda.h" #include "modify_cuda.h" #include "verlet_cuda.h" #else // dummy interface to USER-CUDA // needed for compiling when USER-CUDA is not installed #include "comm_brick.h" #include "domain.h" #include "neighbor.h" #include "modify.h" #include "verlet.h" namespace LAMMPS_NS { class Cuda { public: int cuda_exists; int oncpu; Cuda(class LAMMPS *) {cuda_exists = 0;} ~Cuda() {} void accelerator(int, char **) {} void evsetup_eatom_vatom(int, int) {} void downloadAll() {} void uploadAll() {} }; class CommCuda : public CommBrick { public: CommCuda(class LAMMPS *lmp) : CommBrick(lmp) {} ~CommCuda() {} }; class DomainCuda : public Domain { public: DomainCuda(class LAMMPS *lmp) : Domain(lmp) {} ~DomainCuda() {} }; class NeighborCuda : public Neighbor { public: NeighborCuda(class LAMMPS *lmp) : Neighbor(lmp) {} ~NeighborCuda() {} }; class ModifyCuda : public Modify { public: ModifyCuda(class LAMMPS *lmp) : Modify(lmp) {} ~ModifyCuda() {} }; class VerletCuda : public Verlet { public: VerletCuda(class LAMMPS *lmp, int narg, char **arg) : Verlet(lmp,narg,arg) {} ~VerletCuda() {} }; } #endif #endif diff --git a/src/accelerator_kokkos.h b/src/accelerator_kokkos.h index 416b3288b..dc8bf5d9b 100644 --- a/src/accelerator_kokkos.h +++ b/src/accelerator_kokkos.h @@ -1,88 +1,88 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_ACCELERATOR_KOKKOS_H #define LMP_ACCELERATOR_KOKKOS_H // true interface to KOKKOS // used when KOKKOS is installed #ifdef LMP_KOKKOS #include "kokkos.h" #include "atom_kokkos.h" #include "comm_kokkos.h" #include "domain_kokkos.h" #include "neighbor_kokkos.h" #include "modify_kokkos.h" #else // dummy interface to KOKKOS // needed for compiling when KOKKOS is not installed #include "atom.h" #include "comm_brick.h" #include "domain.h" #include "neighbor.h" #include "modify.h" namespace LAMMPS_NS { class KokkosLMP { public: int kokkos_exists; int num_threads; int numa; KokkosLMP(class LAMMPS *, int, char **) {kokkos_exists = 0;} ~KokkosLMP() {} void accelerator(int, char **) {} int neigh_list_kokkos(int) {return 0;} int neigh_count(int) {return 0;} }; class AtomKokkos : public Atom { public: AtomKokkos(class LAMMPS *lmp) : Atom(lmp) {} ~AtomKokkos() {} }; class CommKokkos : public CommBrick { public: CommKokkos(class LAMMPS *lmp) : CommBrick(lmp) {} ~CommKokkos() {} }; class DomainKokkos : public Domain { public: DomainKokkos(class LAMMPS *lmp) : Domain(lmp) {} ~DomainKokkos() {} }; class NeighborKokkos : public Neighbor { public: NeighborKokkos(class LAMMPS *lmp) : Neighbor(lmp) {} ~NeighborKokkos() {} }; class ModifyKokkos : public Modify { public: ModifyKokkos(class LAMMPS *lmp) : Modify(lmp) {} ~ModifyKokkos() {} }; } #endif #endif diff --git a/src/angle_hybrid.h b/src/angle_hybrid.h index cd14178d8..4cddff2c6 100644 --- a/src/angle_hybrid.h +++ b/src/angle_hybrid.h @@ -1,95 +1,95 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ANGLE_CLASS AngleStyle(hybrid,AngleHybrid) #else #ifndef LMP_ANGLE_HYBRID_H #define LMP_ANGLE_HYBRID_H #include "stdio.h" #include "angle.h" namespace LAMMPS_NS { class AngleHybrid : public Angle { public: int nstyles; // # of different angle styles Angle **styles; // class list for each Angle style char **keywords; // keyword for each Angle style AngleHybrid(class LAMMPS *); ~AngleHybrid(); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double equilibrium_angle(int); void write_restart(FILE *); void read_restart(FILE *); double single(int, int, int, int); double memory_usage(); private: int *map; // which style each angle type points to int *nanglelist; // # of angles in sub-style anglelists int *maxangle; // max # of angles sub-style lists can store int ***anglelist; // anglelist for each sub-style void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Angle style hybrid cannot use same angle style twice Self-explanatory. E: Angle style hybrid cannot have hybrid as an argument Self-explanatory. E: Angle style hybrid cannot have none as an argument Self-explanatory. E: Angle coeff for hybrid has invalid style Angle style hybrid uses another angle style as one of its coefficients. The angle style used in the angle_coeff command or read from a restart file is not recognized. E: Invoked angle equil angle on angle style none Self-explanatory. E: Invoked angle single on angle style none Self-explanatory. */ diff --git a/src/atom_masks.h b/src/atom_masks.h index 82e460c30..119f09f27 100644 --- a/src/atom_masks.h +++ b/src/atom_masks.h @@ -1,89 +1,89 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_ATOM_MASK_H #define LMP_ATOM_MASK_H // per-atom data masks #define EMPTY_MASK 0x00000000 #define ALL_MASK 0xffffffff #define SAMETAG_MASK 0x40000000 #define EXTENDED_MASK 0x80000000 // standard #define X_MASK 0x00000001 #define V_MASK 0x00000002 #define F_MASK 0x00000004 #define TAG_MASK 0x00000008 #define TYPE_MASK 0x00000010 #define MASK_MASK 0x00000020 #define IMAGE_MASK 0x00000040 #define Q_MASK 0x00000080 #define MOLECULE_MASK 0x00000100 #define RMASS_MASK 0x00000200 #define BOND_MASK 0x00000400 #define ANGLE_MASK 0x00000800 #define DIHEDRAL_MASK 0x00001000 #define IMPROPER_MASK 0x00002000 #define SPECIAL_MASK 0x00004000 #define MAP_MASK 0x00008000 #define ENERGY_MASK 0x00010000 #define VIRIAL_MASK 0x00020000 // granular #define RADIUS_MASK 0x00100000 #define DENSITY_MASK 0x00200000 #define OMEGA_MASK 0x00400000 #define TORQUE_MASK 0x00800000 #define ANGMOM_MASK 0x01000000 #define GRANULAR_MASK 0x01f00000 // peridynamics #define VFRAC_MASK 0x00000001 #define S0_MASK 0x00000002 #define X0_MASK 0x00000004 #define PERI_MASK 0x00000007 #define ELLIPSOID_MASK 0x00000008 #define LINE_MASK 0x00000010 #define TRI_MASK 0x00000020 // electron #define SPIN_MASK 0x00000100 #define ERADIUS_MASK 0x00000200 #define ERVEL_MASK 0x00000400 #define ERFORCE_MASK 0x00000800 #define ERVELFORCE_MASK 0x00001000 #define CS_MASK 0x00002000 #define CSFORCE_MASK 0x00004000 #define VFORCE_MASK 0x00008000 #define ELECTRON_MASK 0x0000ff00 // SPH #define ETAG_MASK 0x00010000 #define RHO_MASK 0x00020000 #define DRHO_MASK 0x00040000 #define E_MASK 0x00080000 #define DE_MASK 0x00100000 #define VEST_MASK 0x00200000 #define CV_MASK 0x00400000 #endif diff --git a/src/atom_vec.h b/src/atom_vec.h index 6267df36f..c1baab248 100644 --- a/src/atom_vec.h +++ b/src/atom_vec.h @@ -1,165 +1,165 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_ATOM_VEC_H #define LMP_ATOM_VEC_H #include "stdio.h" #include "pointers.h" namespace LAMMPS_NS { class AtomVec : protected Pointers { public: int molecular; // 0 = atomic, 1 = molecular system int bonds_allow,angles_allow; // 1 if bonds, angles are used int dihedrals_allow,impropers_allow; // 1 if dihedrals, impropers used int mass_type; // 1 if per-type masses int dipole_type; // 1 if per-type dipole moments int forceclearflag; // 1 if has forceclear() method int comm_x_only; // 1 if only exchange x in forward comm int comm_f_only; // 1 if only exchange f in reverse comm int size_forward; // # of values per atom in comm int size_reverse; // # in reverse comm int size_border; // # in border comm int size_velocity; // # of velocity based quantities int size_data_atom; // number of values in Atom line int size_data_vel; // number of values in Velocity line int size_data_bonus; // number of values in Bonus line int xcol_data; // column (1-N) where x is in Atom line class Molecule **onemols; // list of molecules for style template int nset; // # of molecules in list int cudable; // 1 if atom style is CUDA-enabled int kokkosable; // 1 if atom style is KOKKOS-enabled int *maxsend; // CUDA-specific variable int nargcopy; // copy of command-line args for atom_style command char **argcopy; // used when AtomVec is realloced (restart,replicate) AtomVec(class LAMMPS *); virtual ~AtomVec(); void store_args(int, char **); virtual void process_args(int, char **); virtual void init(); virtual void grow(int) = 0; virtual void grow_reset() = 0; virtual void copy(int, int, int) = 0; virtual void clear_bonus() {} virtual void force_clear(int, size_t) {} virtual int pack_comm(int, int *, double *, int, int *) = 0; virtual int pack_comm_vel(int, int *, double *, int, int *) = 0; virtual int pack_comm_hybrid(int, int *, double *) {return 0;} virtual void unpack_comm(int, int, double *) = 0; virtual void unpack_comm_vel(int, int, double *) = 0; virtual int unpack_comm_hybrid(int, int, double *) {return 0;} virtual int pack_reverse(int, int, double *) = 0; virtual int pack_reverse_hybrid(int, int, double *) {return 0;} virtual void unpack_reverse(int, int *, double *) = 0; virtual int unpack_reverse_hybrid(int, int *, double *) {return 0;} virtual int pack_border(int, int *, double *, int, int *) = 0; virtual int pack_border_vel(int, int *, double *, int, int *) = 0; virtual int pack_border_hybrid(int, int *, double *) {return 0;} virtual void unpack_border(int, int, double *) = 0; virtual void unpack_border_vel(int, int, double *) = 0; virtual int unpack_border_hybrid(int, int, double *) {return 0;} virtual int pack_exchange(int, double *) = 0; virtual int unpack_exchange(double *) = 0; virtual int size_restart() = 0; virtual int pack_restart(int, double *) = 0; virtual int unpack_restart(double *) = 0; virtual void create_atom(int, double *) = 0; virtual void data_atom(double *, imageint, char **) = 0; virtual void data_atom_bonus(int, char **) {} virtual int data_atom_hybrid(int, char **) {return 0;} virtual void data_vel(int, char **); virtual int data_vel_hybrid(int, char **) {return 0;} virtual void pack_data(double **) = 0; virtual int pack_data_hybrid(int, double *) {return 0;} virtual void write_data(FILE *, int, double **) = 0; virtual int write_data_hybrid(FILE *, double *) {return 0;} virtual void pack_vel(double **); virtual int pack_vel_hybrid(int, double *) {return 0;} virtual void write_vel(FILE *, int, double **); virtual int write_vel_hybrid(FILE *, double *) {return 0;} int pack_bond(tagint **); void write_bond(FILE *, int, tagint **, int); int pack_angle(tagint **); void write_angle(FILE *, int, tagint **, int); void pack_dihedral(tagint **); void write_dihedral(FILE *, int, tagint **, int); void pack_improper(tagint **); void write_improper(FILE *, int, tagint **, int); virtual int property_atom(char *) {return -1;} virtual void pack_property_atom(int, double *, int, int) {} virtual bigint memory_usage() = 0; protected: int nmax; // local copy of atom->nmax int deform_vremap; // local copy of domain properties int deform_groupbit; double *h_rate; // union data struct for packing 32-bit and 64-bit ints into double bufs // this avoids aliasing issues by having 2 pointers (double,int) // to same buf memory // constructor for 32-bit int prevents compiler // from possibly calling the double constructor when passed an int // copy to a double *buf: // buf[m++] = ubuf(foo).d, where foo is a 32-bit or 64-bit int // copy from a double *buf: // foo = (int) ubuf(buf[m++]).i;, where (int) or (tagint) match foo // the cast prevents compiler warnings about possible truncation union ubuf { double d; int64_t i; ubuf(double arg) : d(arg) {} ubuf(int64_t arg) : i(arg) {} ubuf(int arg) : i(arg) {} }; void grow_nmax(); int grow_nmax_bonus(int); }; } #endif /* ERROR/WARNING messages: E: Invalid atom_style command Self-explanatory. E: USER-CUDA package requires a cuda enabled atom_style Self-explanatory. */ diff --git a/src/atom_vec_atomic.h b/src/atom_vec_atomic.h index 867e46339..afcede89b 100644 --- a/src/atom_vec_atomic.h +++ b/src/atom_vec_atomic.h @@ -1,78 +1,78 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(atomic,AtomVecAtomic) #else #ifndef LMP_ATOM_VEC_ATOMIC_H #define LMP_ATOM_VEC_ATOMIC_H #include "atom_vec.h" namespace LAMMPS_NS { class AtomVecAtomic : public AtomVec { public: AtomVecAtomic(class LAMMPS *); virtual ~AtomVecAtomic() {} void grow(int); void grow_reset(); void copy(int, int, int); virtual int pack_comm(int, int *, double *, int, int *); virtual int pack_comm_vel(int, int *, double *, int, int *); virtual void unpack_comm(int, int, double *); virtual void unpack_comm_vel(int, int, double *); int pack_reverse(int, int, double *); void unpack_reverse(int, int *, double *); virtual int pack_border(int, int *, double *, int, int *); virtual int pack_border_vel(int, int *, double *, int, int *); virtual void unpack_border(int, int, double *); virtual void unpack_border_vel(int, int, double *); virtual int pack_exchange(int, double *); virtual int unpack_exchange(double *); int size_restart(); int pack_restart(int, double *); int unpack_restart(double *); void create_atom(int, double *); void data_atom(double *, imageint, char **); void pack_data(double **); void write_data(FILE *, int, double **); bigint memory_usage(); protected: tagint *tag; int *type,*mask; imageint *image; double **x,**v,**f; }; } #endif #endif /* ERROR/WARNING messages: E: Per-processor system is too big The number of owned atoms plus ghost atoms on a single processor must fit in 32-bit integer. E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. */ diff --git a/src/atom_vec_body.h b/src/atom_vec_body.h index 2843da0af..2cea81e80 100644 --- a/src/atom_vec_body.h +++ b/src/atom_vec_body.h @@ -1,146 +1,146 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(body,AtomVecBody) #else #ifndef LMP_ATOM_VEC_BODY_H #define LMP_ATOM_VEC_BODY_H #include "atom_vec.h" #include "my_pool_chunk.h" namespace LAMMPS_NS { class AtomVecBody : public AtomVec { public: class Body *bptr; struct Bonus { double quat[4]; double inertia[3]; int ninteger,ndouble; int iindex,dindex; int *ivalue; double *dvalue; int ilocal; }; struct Bonus *bonus; AtomVecBody(class LAMMPS *); ~AtomVecBody(); void process_args(int, char **); void grow(int); void grow_reset(); void copy(int, int, int); int pack_comm(int, int *, double *, int, int *); int pack_comm_vel(int, int *, double *, int, int *); int pack_comm_hybrid(int, int *, double *); void unpack_comm(int, int, double *); void unpack_comm_vel(int, int, double *); int unpack_comm_hybrid(int, int, double *); int pack_reverse(int, int, double *); int pack_reverse_hybrid(int, int, double *); void unpack_reverse(int, int *, double *); int unpack_reverse_hybrid(int, int *, double *); int pack_border(int, int *, double *, int, int *); int pack_border_vel(int, int *, double *, int, int *); int pack_border_hybrid(int, int *, double *); void unpack_border(int, int, double *); void unpack_border_vel(int, int, double *); int unpack_border_hybrid(int, int, double *); int pack_exchange(int, double *); int unpack_exchange(double *); int size_restart(); int pack_restart(int, double *); int unpack_restart(double *); void create_atom(int, double *); void data_atom(double *, imageint, char **); int data_atom_hybrid(int, char **); void data_vel(int, char **); int data_vel_hybrid(int, char **); void pack_data(double **); int pack_data_hybrid(int, double *); void write_data(FILE *, int, double **); int write_data_hybrid(FILE *, double *); void pack_vel(double **); int pack_vel_hybrid(int, double *); void write_vel(FILE *, int, double **); int write_vel_hybrid(FILE *, double *); bigint memory_usage(); // manipulate Bonus data structure for extra atom info void clear_bonus(); void data_body(int, int, int, char **, char **); private: tagint *tag; int *type,*mask; imageint *image; double **x,**v,**f; double *rmass; double **angmom,**torque; int *body; int nlocal_bonus,nghost_bonus,nmax_bonus; int intdoubleratio; // sizeof(double) / sizeof(int) MyPoolChunk *icp; MyPoolChunk *dcp; void grow_bonus(); void copy_bonus(int, int); //void check(int); }; } #endif #endif /* ERROR/WARNING messages: E: Internal error in atom_style body This error should not occur. Contact the developers. E: Invalid atom_style body command No body style argument was provided. E: Invalid body style The choice of body style is unknown. E: Per-processor system is too big The number of owned atoms plus ghost atoms on a single processor must fit in 32-bit integer. E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. E: Invalid density in Atoms section of data file Density value cannot be <= 0.0. E: Assigning body parameters to non-body atom Self-explanatory. */ diff --git a/src/atom_vec_charge.h b/src/atom_vec_charge.h index 12afd908d..10f1d8d14 100644 --- a/src/atom_vec_charge.h +++ b/src/atom_vec_charge.h @@ -1,84 +1,84 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(charge,AtomVecCharge) #else #ifndef LMP_ATOM_VEC_CHARGE_H #define LMP_ATOM_VEC_CHARGE_H #include "atom_vec.h" namespace LAMMPS_NS { class AtomVecCharge : public AtomVec { public: AtomVecCharge(class LAMMPS *); virtual ~AtomVecCharge() {} void grow(int); void grow_reset(); void copy(int, int, int); virtual int pack_comm(int, int *, double *, int, int *); virtual int pack_comm_vel(int, int *, double *, int, int *); virtual void unpack_comm(int, int, double *); virtual void unpack_comm_vel(int, int, double *); int pack_reverse(int, int, double *); void unpack_reverse(int, int *, double *); virtual int pack_border(int, int *, double *, int, int *); virtual int pack_border_vel(int, int *, double *, int, int *); int pack_border_hybrid(int, int *, double *); virtual void unpack_border(int, int, double *); virtual void unpack_border_vel(int, int, double *); int unpack_border_hybrid(int, int, double *); virtual int pack_exchange(int, double *); virtual int unpack_exchange(double *); int size_restart(); int pack_restart(int, double *); int unpack_restart(double *); void create_atom(int, double *); void data_atom(double *, imageint, char **); int data_atom_hybrid(int, char **); void pack_data(double **); int pack_data_hybrid(int, double *); void write_data(FILE *, int, double **); int write_data_hybrid(FILE *, double *); bigint memory_usage(); protected: tagint *tag; int *type,*mask; imageint *image; double **x,**v,**f; double *q; }; } #endif #endif /* ERROR/WARNING messages: E: Per-processor system is too big The number of owned atoms plus ghost atoms on a single processor must fit in 32-bit integer. E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. */ diff --git a/src/atom_vec_ellipsoid.h b/src/atom_vec_ellipsoid.h index c2007d276..6beb68b17 100755 --- a/src/atom_vec_ellipsoid.h +++ b/src/atom_vec_ellipsoid.h @@ -1,129 +1,129 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(ellipsoid,AtomVecEllipsoid) #else #ifndef LMP_ATOM_VEC_ELLIPSOID_H #define LMP_ATOM_VEC_ELLIPSOID_H #include "atom_vec.h" namespace LAMMPS_NS { class AtomVecEllipsoid : public AtomVec { public: struct Bonus { double shape[3]; double quat[4]; int ilocal; }; struct Bonus *bonus; AtomVecEllipsoid(class LAMMPS *); ~AtomVecEllipsoid(); void grow(int); void grow_reset(); void copy(int, int, int); int pack_comm(int, int *, double *, int, int *); int pack_comm_vel(int, int *, double *, int, int *); int pack_comm_hybrid(int, int *, double *); void unpack_comm(int, int, double *); void unpack_comm_vel(int, int, double *); int unpack_comm_hybrid(int, int, double *); int pack_reverse(int, int, double *); int pack_reverse_hybrid(int, int, double *); void unpack_reverse(int, int *, double *); int unpack_reverse_hybrid(int, int *, double *); int pack_border(int, int *, double *, int, int *); int pack_border_vel(int, int *, double *, int, int *); int pack_border_hybrid(int, int *, double *); void unpack_border(int, int, double *); void unpack_border_vel(int, int, double *); int unpack_border_hybrid(int, int, double *); int pack_exchange(int, double *); int unpack_exchange(double *); int size_restart(); int pack_restart(int, double *); int unpack_restart(double *); void create_atom(int, double *); void data_atom(double *, imageint, char **); int data_atom_hybrid(int, char **); void data_vel(int, char **); int data_vel_hybrid(int, char **); void pack_data(double **); int pack_data_hybrid(int, double *); void write_data(FILE *, int, double **); int write_data_hybrid(FILE *, double *); void pack_vel(double **); int pack_vel_hybrid(int, double *); void write_vel(FILE *, int, double **); int write_vel_hybrid(FILE *, double *); bigint memory_usage(); // manipulate Bonus data structure for extra atom info void clear_bonus(); void data_atom_bonus(int, char **); // unique to AtomVecEllipsoid void set_shape(int, double, double, double); private: tagint *tag; int *type,*mask; imageint *image; double **x,**v,**f; double *rmass; double **angmom,**torque; int *ellipsoid; int nlocal_bonus,nghost_bonus,nmax_bonus; void grow_bonus(); void copy_bonus(int, int); }; } #endif #endif /* ERROR/WARNING messages: E: Per-processor system is too big The number of owned atoms plus ghost atoms on a single processor must fit in 32-bit integer. E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. E: Invalid density in Atoms section of data file Density value cannot be <= 0.0. E: Assigning ellipsoid parameters to non-ellipsoid atom Self-explanatory. E: Invalid shape in Ellipsoids section of data file Self-explanatory. */ diff --git a/src/atom_vec_hybrid.h b/src/atom_vec_hybrid.h index 90358525e..7524066c1 100644 --- a/src/atom_vec_hybrid.h +++ b/src/atom_vec_hybrid.h @@ -1,112 +1,112 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(hybrid,AtomVecHybrid) #else #ifndef LMP_ATOM_VEC_HYBRID_H #define LMP_ATOM_VEC_HYBRID_H #include "stdio.h" #include "atom_vec.h" namespace LAMMPS_NS { class AtomVecHybrid : public AtomVec { public: int nstyles; class AtomVec **styles; char **keywords; AtomVecHybrid(class LAMMPS *); ~AtomVecHybrid(); void process_args(int, char **); void init(); void grow(int); void grow_reset(); void copy(int, int, int); void clear_bonus(); void force_clear(int, size_t); int pack_comm(int, int *, double *, int, int *); int pack_comm_vel(int, int *, double *, int, int *); void unpack_comm(int, int, double *); void unpack_comm_vel(int, int, double *); int pack_reverse(int, int, double *); void unpack_reverse(int, int *, double *); int pack_border(int, int *, double *, int, int *); int pack_border_vel(int, int *, double *, int, int *); void unpack_border(int, int, double *); void unpack_border_vel(int, int, double *); int pack_exchange(int, double *); int unpack_exchange(double *); int size_restart(); int pack_restart(int, double *); int unpack_restart(double *); void create_atom(int, double *); void data_atom(double *, imageint, char **); int data_atom_hybrid(int, char **) {return 0;} void data_vel(int, char **); void pack_data(double **); void write_data(FILE *, int, double **); void pack_vel(double **); void write_vel(FILE *, int, double **); int property_atom(char *); void pack_property_atom(int, double *, int, int); bigint memory_usage(); private: tagint *tag; int *type,*mask; imageint *image; double **x,**v,**f; double **omega,**angmom; int nallstyles; char **allstyles; void build_styles(); int known_style(char *); }; } #endif #endif /* ERROR/WARNING messages: E: Atom style hybrid cannot have hybrid as an argument Self-explanatory. E: Atom style hybrid cannot use same atom style twice Self-explanatory. E: Cannot mix molecular and molecule template atom styles Self-explanatory. E: Per-processor system is too big The number of owned atoms plus ghost atoms on a single processor must fit in 32-bit integer. E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. */ diff --git a/src/atom_vec_line.h b/src/atom_vec_line.h index 50dfeac28..de7c04444 100644 --- a/src/atom_vec_line.h +++ b/src/atom_vec_line.h @@ -1,136 +1,136 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(line,AtomVecLine) #else #ifndef LMP_ATOM_VEC_LINE_H #define LMP_ATOM_VEC_LINE_H #include "atom_vec.h" namespace LAMMPS_NS { class AtomVecLine : public AtomVec { public: struct Bonus { double length,theta; int ilocal; }; struct Bonus *bonus; AtomVecLine(class LAMMPS *); ~AtomVecLine(); void init(); void grow(int); void grow_reset(); void copy(int, int, int); int pack_comm(int, int *, double *, int, int *); int pack_comm_vel(int, int *, double *, int, int *); int pack_comm_hybrid(int, int *, double *); void unpack_comm(int, int, double *); void unpack_comm_vel(int, int, double *); int unpack_comm_hybrid(int, int, double *); int pack_reverse(int, int, double *); int pack_reverse_hybrid(int, int, double *); void unpack_reverse(int, int *, double *); int unpack_reverse_hybrid(int, int *, double *); int pack_border(int, int *, double *, int, int *); int pack_border_vel(int, int *, double *, int, int *); int pack_border_hybrid(int, int *, double *); void unpack_border(int, int, double *); void unpack_border_vel(int, int, double *); int unpack_border_hybrid(int, int, double *); int pack_exchange(int, double *); int unpack_exchange(double *); int size_restart(); int pack_restart(int, double *); int unpack_restart(double *); void create_atom(int, double *); void data_atom(double *, imageint, char **); int data_atom_hybrid(int, char **); void data_vel(int, char **); int data_vel_hybrid(int, char **); void pack_data(double **); int pack_data_hybrid(int, double *); void write_data(FILE *, int, double **); int write_data_hybrid(FILE *, double *); void pack_vel(double **); int pack_vel_hybrid(int, double *); void write_vel(FILE *, int, double **); int write_vel_hybrid(FILE *, double *); bigint memory_usage(); // manipulate Bonus data structure for extra atom info void clear_bonus(); void data_atom_bonus(int, char **); // unique to AtomVecLine void set_length(int, double); private: tagint *tag; int *type,*mask; imageint *image; double **x,**v,**f; tagint *molecule; double *rmass; double **omega,**torque; int *line; int nlocal_bonus,nghost_bonus,nmax_bonus; void grow_bonus(); void copy_bonus(int, int); // void consistency_check(int, char *); }; } #endif #endif /* ERROR/WARNING messages: E: Atom_style line can only be used in 2d simulations Self-explanatory. E: Per-processor system is too big The number of owned atoms plus ghost atoms on a single processor must fit in 32-bit integer. E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. E: Invalid density in Atoms section of data file Density value cannot be <= 0.0. E: Assigning line parameters to non-line atom Self-explanatory. E: Inconsistent line segment in data file The end points of the line segment are not equal distances from the center point which is the atom coordinate. */ diff --git a/src/atom_vec_sphere.h b/src/atom_vec_sphere.h index c285267ff..28b1198d5 100644 --- a/src/atom_vec_sphere.h +++ b/src/atom_vec_sphere.h @@ -1,105 +1,105 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(sphere,AtomVecSphere) #else #ifndef LMP_ATOM_VEC_SPHERE_H #define LMP_ATOM_VEC_SPHERE_H #include "atom_vec.h" namespace LAMMPS_NS { class AtomVecSphere : public AtomVec { public: AtomVecSphere(class LAMMPS *); ~AtomVecSphere() {} void init(); void grow(int); void grow_reset(); void copy(int, int, int); int pack_comm(int, int *, double *, int, int *); int pack_comm_vel(int, int *, double *, int, int *); int pack_comm_hybrid(int, int *, double *); void unpack_comm(int, int, double *); void unpack_comm_vel(int, int, double *); int unpack_comm_hybrid(int, int, double *); int pack_reverse(int, int, double *); int pack_reverse_hybrid(int, int, double *); void unpack_reverse(int, int *, double *); int unpack_reverse_hybrid(int, int *, double *); int pack_border(int, int *, double *, int, int *); int pack_border_vel(int, int *, double *, int, int *); int pack_border_hybrid(int, int *, double *); void unpack_border(int, int, double *); void unpack_border_vel(int, int, double *); int unpack_border_hybrid(int, int, double *); int pack_exchange(int, double *); int unpack_exchange(double *); int size_restart(); int pack_restart(int, double *); int unpack_restart(double *); void create_atom(int, double *); void data_atom(double *, imageint, char **); int data_atom_hybrid(int, char **); void data_vel(int, char **); int data_vel_hybrid(int, char **); void pack_data(double **); int pack_data_hybrid(int, double *); void write_data(FILE *, int, double **); int write_data_hybrid(FILE *, double *); void pack_vel(double **); int pack_vel_hybrid(int, double *); void write_vel(FILE *, int, double **); int write_vel_hybrid(FILE *, double *); bigint memory_usage(); private: tagint *tag; int *type,*mask; imageint *image; double **x,**v,**f; double *radius,*rmass; double **omega,**torque; int radvary; }; } #endif #endif /* ERROR/WARNING messages: E: Per-processor system is too big The number of owned atoms plus ghost atoms on a single processor must fit in 32-bit integer. E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. E: Invalid radius in Atoms section of data file Radius must be >= 0.0. E: Invalid density in Atoms section of data file Density value cannot be <= 0.0. */ diff --git a/src/atom_vec_tri.h b/src/atom_vec_tri.h index 6db175eb2..60e0c1f35 100644 --- a/src/atom_vec_tri.h +++ b/src/atom_vec_tri.h @@ -1,146 +1,146 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef ATOM_CLASS AtomStyle(tri,AtomVecTri) #else #ifndef LMP_ATOM_VEC_TRI_H #define LMP_ATOM_VEC_TRI_H #include "atom_vec.h" namespace LAMMPS_NS { class AtomVecTri : public AtomVec { public: struct Bonus { double quat[4]; double c1[3],c2[3],c3[3]; double inertia[3]; int ilocal; }; struct Bonus *bonus; AtomVecTri(class LAMMPS *); ~AtomVecTri(); void init(); void grow(int); void grow_reset(); void copy(int, int, int); int pack_comm(int, int *, double *, int, int *); int pack_comm_vel(int, int *, double *, int, int *); int pack_comm_hybrid(int, int *, double *); void unpack_comm(int, int, double *); void unpack_comm_vel(int, int, double *); int unpack_comm_hybrid(int, int, double *); int pack_reverse(int, int, double *); int pack_reverse_hybrid(int, int, double *); void unpack_reverse(int, int *, double *); int unpack_reverse_hybrid(int, int *, double *); int pack_border(int, int *, double *, int, int *); int pack_border_vel(int, int *, double *, int, int *); int pack_border_hybrid(int, int *, double *); void unpack_border(int, int, double *); void unpack_border_vel(int, int, double *); int unpack_border_hybrid(int, int, double *); int pack_exchange(int, double *); int unpack_exchange(double *); int size_restart(); int pack_restart(int, double *); int unpack_restart(double *); void create_atom(int, double *); void data_atom(double *, imageint, char **); int data_atom_hybrid(int, char **); void data_vel(int, char **); int data_vel_hybrid(int, char **); void pack_data(double **); int pack_data_hybrid(int, double *); void write_data(FILE *, int, double **); int write_data_hybrid(FILE *, double *); void pack_vel(double **); int pack_vel_hybrid(int, double *); void write_vel(FILE *, int, double **); int write_vel_hybrid(FILE *, double *); bigint memory_usage(); // manipulate Bonus data structure for extra atom info void clear_bonus(); void data_atom_bonus(int, char **); // unique to AtomVecTri void set_equilateral(int, double); private: tagint *tag; int *type,*mask; imageint *image; double **x,**v,**f; tagint *molecule; double *rmass; double **angmom,**torque; int *tri; int nlocal_bonus,nghost_bonus,nmax_bonus; void grow_bonus(); void copy_bonus(int, int); }; } #endif #endif /* ERROR/WARNING messages: E: Atom_style tri can only be used in 3d simulations Self-explanatory. E: Per-processor system is too big The number of owned atoms plus ghost atoms on a single processor must fit in 32-bit integer. E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. E: Invalid density in Atoms section of data file Density value cannot be <= 0.0. E: Assigning tri parameters to non-tri atom Self-explanatory. E: Invalid shape in Triangles section of data file Two or more of the triangle corners are duplicate points. E: Inconsistent triangle in data file The centroid of the triangle as defined by the corner points is not the atom coordinate. E: Insufficient Jacobi rotations for triangle The calculation of the intertia tensor of the triangle failed. This should not happen if it is a reasonably shaped triangle. */ diff --git a/src/balance.h b/src/balance.h index 69ff41aba..2bf0b9562 100644 --- a/src/balance.h +++ b/src/balance.h @@ -1,122 +1,122 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMMAND_CLASS CommandStyle(balance,Balance) #else #ifndef LMP_BALANCE_H #define LMP_BALANCE_H #include "stdio.h" #include "pointers.h" namespace LAMMPS_NS { class Balance : protected Pointers { public: class RCB *rcb; Balance(class LAMMPS *); ~Balance(); void command(int, char **); void shift_setup(char *, int, double); int shift(); int *bisection(int sortflag = 0); double imbalance_nlocal(int &); void dumpout(bigint, FILE *); private: int me,nprocs; double thresh; // threshhold to perform LB int style; // style of LB int xflag,yflag,zflag; // xyz LB flags double *user_xsplit,*user_ysplit,*user_zsplit; // params for xyz LB int nitermax; // params for shift LB double stopthresh; char bstr[4]; int shift_allocate; // 1 if SHIFT vectors have been allocated int ndim; // length of balance string bstr int *bdim; // XYZ for each character in bstr bigint *count; // counts for slices in one dim bigint *onecount; // work vector of counts in one dim bigint *sum; // cummulative count for slices in one dim bigint *target; // target sum for slices in one dim double *lo,*hi; // lo/hi split coords that bound each target bigint *losum,*hisum; // cummulative counts at lo/hi coords int rho; // 0 for geometric recursion // 1 for density weighted recursion int *proccount; // particle count per processor int *allproccount; int outflag; // for output of balance results to file FILE *fp; int firststep; double imbalance_splits(int &); void shift_setup_static(char *); void tally(int, int, double *); int adjust(int, double *); int binary(double, int, double *); #ifdef BALANCE_DEBUG void debug_shift_output(int, int, int, double *); #endif }; } #endif #endif /* ERROR/WARNING messages: E: Balance command before simulation box is defined The balance command cannot be used before a read_data, read_restart, or create_box command. E: Illegal ... command 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: Cannot open balance output file Self-explanatory. E: Cannot balance in z dimension for 2d simulation Self-explanatory. E: Balance dynamic string is invalid The string can only contain the characters "x", "y", or "z". E: Lost atoms via balance: original %ld current %ld This should not occur. Report the problem to the developers. E: Balance produced bad splits This should not occur. It means two or more cutting plane locations are on top of each other or out of order. Report the problem to the developers. */ diff --git a/src/body.h b/src/body.h index 4e36a8615..8b4dce451 100644 --- a/src/body.h +++ b/src/body.h @@ -1,62 +1,62 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_BODY_H #define LMP_BODY_H #include "pointers.h" #include "atom_vec_body.h" #include "my_pool_chunk.h" namespace LAMMPS_NS { class Body : protected Pointers { public: MyPoolChunk *icp; MyPoolChunk *dcp; char *style; int size_forward; // max extra values packed for comm int size_border; // max extra values packed for border comm AtomVecBody *avec; // ptr to class that stores body bonus info Body(class LAMMPS *, int, char **); virtual ~Body(); // methods implemented by child classes virtual int pack_comm_body(struct AtomVecBody::Bonus *, double *) {return 0;} virtual int unpack_comm_body(struct AtomVecBody::Bonus *, double *) {return 0;} virtual int pack_border_body(struct AtomVecBody::Bonus *, double *) {return 0;} virtual int unpack_border_body(struct AtomVecBody::Bonus *, double *) {return 0;} virtual void data_body(int, int, int, char **, char **) = 0; virtual int noutrow(int) = 0; virtual int noutcol() = 0; virtual void output(int, int, double *) = 0; }; } #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/bond_hybrid.h b/src/bond_hybrid.h index 39f60309a..a99fd790c 100644 --- a/src/bond_hybrid.h +++ b/src/bond_hybrid.h @@ -1,97 +1,97 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef BOND_CLASS BondStyle(hybrid,BondHybrid) #else #ifndef LMP_BOND_HYBRID_H #define LMP_BOND_HYBRID_H #include "stdio.h" #include "bond.h" namespace LAMMPS_NS { class BondHybrid : public Bond { friend class Force; public: int nstyles; // # of different bond styles Bond **styles; // class list for each Bond style char **keywords; // keyword for each Bond style BondHybrid(class LAMMPS *); ~BondHybrid(); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double equilibrium_distance(int); void write_restart(FILE *); void read_restart(FILE *); double single(int, double, int, int, double &); double memory_usage(); private: int *map; // which style each bond type points to int *nbondlist; // # of bonds in sub-style bondlists int *maxbond; // max # of bonds sub-style lists can store int ***bondlist; // bondlist for each sub-style void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Bond style hybrid cannot use same bond style twice Self-explanatory. E: Bond style hybrid cannot have hybrid as an argument Self-explanatory. E: Bond style hybrid cannot have none as an argument Self-explanatory. E: Bond coeff for hybrid has invalid style Bond style hybrid uses another bond style as one of its coefficients. The bond style used in the bond_coeff command or read from a restart file is not recognized. E: Invoked bond equil distance on bond style none Self-explanatory. E: Invoked bond single on bond style none Self-explanatory. */ diff --git a/src/change_box.h b/src/change_box.h index 146751d31..f4622f9b9 100644 --- a/src/change_box.h +++ b/src/change_box.h @@ -1,124 +1,124 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMMAND_CLASS CommandStyle(change_box,ChangeBox) #else #ifndef LMP_CHANGE_BOX_H #define LMP_CHANGE_BOX_H #include "pointers.h" namespace LAMMPS_NS { class ChangeBox : protected Pointers { public: ChangeBox(class LAMMPS *); void command(int, char **); private: int scaleflag; double scale[3]; struct Operation { int style,flavor; int dim,boundindex; int vdim1,vdim2; double flo,fhi,ftilt; double dlo,dhi,dtilt; double scale; }; Operation *ops; int nops; double boxlo[3],h_inv[6]; void options(int, char **); void save_box_state(); void volume_preserve(int, int, double); }; } #endif #endif /* ERROR/WARNING messages: E: Change_box command before simulation box is defined Self-explanatory. E: Illegal ... command 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: Cannot change_box after reading restart file with per-atom info This is because the restart file info cannot be migrated with the atoms. You can get around this by performing a 0-timestep run which will assign the restart file info to actual atoms. E: Could not find change_box group ID Group ID used in the change_box command does not exist. E: Cannot change_box in z dimension for 2d simulation Self-explanatory. E: Change_box volume used incorrectly The "dim volume" option must be used immediately following one or two settings for "dim1 ..." (and optionally "dim2 ...") and must be for a different dimension, i.e. dim != dim1 and dim != dim2. E: Cannot change_box in xz or yz for 2d simulation Self-explanatory. E: Cannot change box tilt factors for orthogonal box Cannot use tilt factors unless the simulation box is non-orthogonal. E: Cannot change box z boundary to nonperiodic for a 2d simulation Self-explanatory. E: Cannot change box to orthogonal when tilt is non-zero Self-explanatory. E: Cannot change box ortho/triclinic with dumps defined This is because some dumps store the shape of the box. You need to use undump to discard the dump, change the box, then redefine a new dump. E: Cannot change box ortho/triclinic with certain fixes defined This is because those fixes store the shape of the box. You need to use unfix to discard the fix, change the box, then redefine a new fix. W: Lost atoms via change_box: original %ld current %ld The command options you have used caused atoms to be lost. */ diff --git a/src/comm.h b/src/comm.h index 2474d8811..5b60b2efe 100644 --- a/src/comm.h +++ b/src/comm.h @@ -1,137 +1,137 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_COMM_H #define LMP_COMM_H #include "pointers.h" namespace LAMMPS_NS { class Comm : protected Pointers { public: int style; // comm pattern: 0 = 6-way stencil, 1 = irregular tiling int layout; // LAYOUT_UNIFORM = logical equal-sized bricks // LAYOUT_NONUNIFORM = logical bricks, // but different sizes due to LB // LAYOUT_TILED = general tiling, due to RCB LB int me,nprocs; // proc info int ghost_velocity; // 1 if ghost atoms have velocity, 0 if not double cutghost[3]; // cutoffs used for acquiring ghost atoms double cutghostuser; // user-specified ghost cutoff int recv_from_partition; // recv proc layout from this partition int send_to_partition; // send my proc layout to this partition // -1 if no recv or send int other_partition_style; // 0 = recv layout dims must be multiple of // my layout dims int maxexchange_atom; // max contribution to exchange from AtomVec int maxexchange_fix; // max contribution to exchange from Fixes int nthreads; // OpenMP threads per MPI process // public settings specific to layout = UNIFORM, NONUNIFORM int procgrid[3]; // procs assigned in each dim of 3d grid int user_procgrid[3]; // user request for procs in each dim int myloc[3]; // which proc I am in each dim int procneigh[3][2]; // my 6 neighboring procs, 0/1 = left/right double *xsplit,*ysplit,*zsplit; // fractional (0-1) sub-domain sizes int ***grid2proc; // which proc owns i,j,k loc in 3d grid // public settings specific to layout = TILED int rcbnew; // 1 if just reset by rebalance, else 0 double mysplit[3][2]; // fractional (0-1) bounds of my sub-domain double rcbcutfrac; // fractional RCB cut by this proc int rcbcutdim; // dimension of RCB cut // methods Comm(class LAMMPS *); virtual ~Comm(); void copy_arrays(class Comm *); virtual void init(); void modify_params(int, char **); void set_processors(int, char **); // set 3d processor grid attributes virtual void set_proc_grid(int outflag = 1); // setup 3d grid of procs virtual void setup() = 0; // setup 3d comm pattern virtual void forward_comm(int dummy = 0) = 0; // forward comm of atom coords virtual void reverse_comm() = 0; // reverse comm of forces virtual void exchange() = 0; // move atoms to new procs virtual void borders() = 0; // setup list of atoms to comm // forward/reverse comm from a Pair, Fix, Compute, Dump virtual void forward_comm_pair(class Pair *) = 0; virtual void reverse_comm_pair(class Pair *) = 0; virtual void forward_comm_fix(class Fix *, int size=0) = 0; virtual void reverse_comm_fix(class Fix *, int size=0) = 0; virtual void forward_comm_compute(class Compute *) = 0; virtual void reverse_comm_compute(class Compute *) = 0; virtual void forward_comm_dump(class Dump *) = 0; virtual void reverse_comm_dump(class Dump *) = 0; // forward comm of an array // exchange of info on neigh stencil // set processor mapping options virtual void forward_comm_array(int, double **) = 0; virtual int exchange_variable(int, double *, double *&) = 0; virtual bigint memory_usage() = 0; // non-virtual functions common to all Comm styles void ring(int, int, void *, int, void (*)(int, char *), void *, int self = 1); int read_lines_from_file(FILE *, int, int, char *); int read_lines_from_file_universe(FILE *, int, int, char *); protected: int mode; // 0 = single cutoff, 1 = multi-type cutoff int bordergroup; // only communicate this group in borders int triclinic; // 0 if domain is orthog, 1 if triclinic int map_style; // non-0 if global->local mapping is done int comm_x_only,comm_f_only; // 1 if only exchange x,f in for/rev comm int size_forward; // # of per-atom datums in forward comm int size_reverse; // # of datums in reverse comm int size_border; // # of datums in forward border comm int maxforward,maxreverse; // max # of datums in forward/reverse comm int maxexchange; // max # of datums/atom in exchange comm int gridflag; // option for creating 3d grid int mapflag; // option for mapping procs to 3d grid char xyz[4]; // xyz mapping of procs to 3d grid char *customfile; // file with custom proc map char *outfile; // proc grid/map output file int otherflag; // 1 if this partition dependent on another int other_style; // style of dependency int other_procgrid[3]; // proc layout of another partition int other_coregrid[3]; // core layout of another partition int ncores; // # of cores per node int coregrid[3]; // 3d grid of cores within a node int user_coregrid[3]; // user request for cores in each dim }; } #endif /* ERROR/WARNING messages: */ diff --git a/src/comm_brick.h b/src/comm_brick.h index 1bb7eeb3c..ae84d6c2a 100644 --- a/src/comm_brick.h +++ b/src/comm_brick.h @@ -1,158 +1,158 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_COMM_BRICK_H #define LMP_COMM_BRICK_H #include "comm.h" namespace LAMMPS_NS { class CommBrick : public Comm { public: CommBrick(class LAMMPS *); CommBrick(class LAMMPS *, class Comm *); virtual ~CommBrick(); virtual void init(); virtual void setup(); // setup 3d comm pattern virtual void forward_comm(int dummy = 0); // forward comm of atom coords virtual void reverse_comm(); // reverse comm of forces virtual void exchange(); // move atoms to new procs virtual void borders(); // setup list of atoms to comm virtual void forward_comm_pair(class Pair *); // forward comm from a Pair virtual void reverse_comm_pair(class Pair *); // reverse comm from a Pair virtual void forward_comm_fix(class Fix *, int size=0); // forward comm from a Fix virtual void reverse_comm_fix(class Fix *, int size=0); // reverse comm from a Fix virtual void forward_comm_compute(class Compute *); // forward from a Compute virtual void reverse_comm_compute(class Compute *); // reverse from a Compute virtual void forward_comm_dump(class Dump *); // forward comm from a Dump virtual void reverse_comm_dump(class Dump *); // reverse comm from a Dump void forward_comm_array(int, double **); // forward comm of array int exchange_variable(int, double *, double *&); // exchange on neigh stencil virtual bigint memory_usage(); protected: int nswap; // # of swaps to perform = sum of maxneed int recvneed[3][2]; // # of procs away I recv atoms from int sendneed[3][2]; // # of procs away I send atoms to int maxneed[3]; // max procs away any proc needs, per dim int maxswap; // max # of swaps memory is allocated for int *sendnum,*recvnum; // # of atoms to send/recv in each swap int *sendproc,*recvproc; // proc to send/recv to/from at each swap int *size_forward_recv; // # of values to recv in each forward comm int *size_reverse_send; // # to send in each reverse comm int *size_reverse_recv; // # to recv in each reverse comm double *slablo,*slabhi; // bounds of slab to send at each swap double **multilo,**multihi; // bounds of slabs for multi-type swap double **cutghostmulti; // cutghost on a per-type basis int *pbc_flag; // general flag for sending atoms thru PBC int **pbc; // dimension flags for PBC adjustments int *firstrecv; // where to put 1st recv atom in each swap int **sendlist; // list of atoms to send in each swap int *maxsendlist; // max size of send list for each swap double *buf_send; // send buffer for all comm double *buf_recv; // recv buffer for all comm int maxsend,maxrecv; // current size of send/recv buffer int bufextra; // extra space beyond maxsend in send buffer int smax,rmax; // max size in atoms of single borders send/recv void init_buffers(); int updown(int, int, int, double, int, double *); // compare cutoff to procs virtual void grow_send(int, int); // reallocate send buffer virtual void grow_recv(int); // free/allocate recv buffer virtual void grow_list(int, int); // reallocate one sendlist virtual void grow_swap(int); // grow swap and multi arrays virtual void allocate_swap(int); // allocate swap arrays virtual void allocate_multi(int); // allocate multi arrays virtual void free_swap(); // free swap arrays virtual void free_multi(); // free multi arrays }; } #endif /* ERROR/WARNING messages: W: OMP_NUM_THREADS environment is not set. This environment variable must be set appropriately to use the USER-OMP pacakge. E: Bad grid of processors The 3d grid of processors defined by the processors command does not match the number of processors LAMMPS is being run on. E: Processor count in z must be 1 for 2d simulation Self-explanatory. E: Illegal ... command 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: Invalid group in communicate command Self-explanatory. E: Communicate group != atom_modify first group Self-explanatory. E: Invalid cutoff in communicate command Specified cutoff must be >= 0.0. E: Specified processors != physical processors The 3d grid of processors defined by the processors command does not match the number of processors LAMMPS is being run on. E: Cannot use processors part command without using partitions See the command-line -partition switch. E: Invalid partitions in processors part command Valid partitions are numbered 1 to N and the sender and receiver cannot be the same partition. E: Sending partition in processors part command is already a sender Cannot specify a partition to be a sender twice. E: Receiving partition in processors part command is already a receiver Cannot specify a partition to be a receiver twice. E: Processors grid numa and map style are incompatible Using numa for gstyle in the processors command requires using cart for the map option. E: Processors part option and grid style are incompatible Cannot use gstyle numa or custom with the part option. */ diff --git a/src/comm_tiled.h b/src/comm_tiled.h index cc7228bb7..390690ced 100644 --- a/src/comm_tiled.h +++ b/src/comm_tiled.h @@ -1,152 +1,152 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_COMM_TILED_H #define LMP_COMM_TILED_H #include "comm.h" namespace LAMMPS_NS { class CommTiled : public Comm { public: CommTiled(class LAMMPS *); CommTiled(class LAMMPS *, class Comm *); virtual ~CommTiled(); void init(); void setup(); // setup comm pattern void forward_comm(int dummy = 0); // forward comm of atom coords void reverse_comm(); // reverse comm of forces void exchange(); // move atoms to new procs void borders(); // setup list of atoms to comm void forward_comm_pair(class Pair *); // forward comm from a Pair void reverse_comm_pair(class Pair *); // reverse comm from a Pair virtual void forward_comm_fix(class Fix *, int size=0); // forward comm from a Fix virtual void reverse_comm_fix(class Fix *, int size=0); // reverse comm from a Fix void forward_comm_compute(class Compute *); // forward from a Compute void reverse_comm_compute(class Compute *); // reverse from a Compute void forward_comm_dump(class Dump *); // forward comm from a Dump void reverse_comm_dump(class Dump *); // reverse comm from a Dump void forward_comm_array(int, double **); // forward comm of array int exchange_variable(int, double *, double *&); // exchange on neigh stencil bigint memory_usage(); private: int nswap; // # of swaps to perform = 2*dim // forward/reverse comm info, proc lists include self int *nsendproc,*nrecvproc; // # of procs to send/recv to/from per swap int *sendother,*recvother; // 1 if send/recv to/from other proc per swap int *sendself; // 1 if send to self per swap int *nprocmax; // current max # of send procs per swap int **sendproc,**recvproc; // procs to send/recv to/from per swap int **sendnum,**recvnum; // # of atoms to send/recv per swap/proc int **size_forward_recv; // # of values to recv in each forward swap/proc int **firstrecv; // where to put 1st recv atom per swap/proc int **size_reverse_send; // # of values to send in each reverse swap/proc int **size_reverse_recv; // # of values to recv in each reverse swap/proc int **forward_recv_offset; // forward comm offsets in buf_recv per swap/proc int **reverse_recv_offset; // reverse comm offsets in buf_recv per swap/proc int ***sendlist; // list of atoms to send per swap/proc int **maxsendlist; // max size of send list per swap/proc int **pbc_flag; // general flag for sending atoms thru PBC int ***pbc; // dimension flags for PBC adjustments double ***sendbox; // bounding box of atoms to send per swap/proc // exchange comm info, proc lists do not include self int *nexchproc; // # of procs to send/recv to/from in each dim int *nexchprocmax; // current max # of exch procs for each dim int **exchproc; // procs to exchange with per dim int **exchnum; // # of values received per dim/proc double *buf_send; // send buffer for all comm double *buf_recv; // recv buffer for all comm int maxsend,maxrecv; // current size of send/recv buffer int bufextra; // extra space beyond maxsend in send buffer int smaxone,rmaxone; // max size in atoms of single borders send/recv int smaxall,rmaxall; // max size in atoms of any borders send/recv // for comm to all procs in one swap int maxreqstat; // max size of Request and Status vectors MPI_Request *requests; MPI_Status *statuses; struct RCBinfo { double mysplit[3][2]; // fractional RCB bounding box for one proc double cutfrac; // fractional position of cut this proc owns int dim; // dimension = 0/1/2 of cut }; RCBinfo *rcbinfo; // list of RCB info for all procs int noverlap; // # of overlapping procs int maxoverlap; // current max length of overlap int *overlap; // list of overlapping procs double *prd; // local ptrs to Domain attributes double *boxlo,*boxhi; double *sublo,*subhi; int dimension; void init_buffers(); // box drop and other functions typedef void (CommTiled::*BoxDropPtr)(int, double *, double *, int &); BoxDropPtr box_drop; void box_drop_brick(int, double *, double *, int &); void box_drop_tiled(int, double *, double *, int &); void box_drop_tiled_recurse(double *, double *, int, int, int &); typedef void (CommTiled::*BoxOtherPtr)(int, int, int, double *, double *); BoxOtherPtr box_other; void box_other_brick(int, int, int, double *, double *); void box_other_tiled(int, int, int, double *, double *); typedef int (CommTiled::*BoxTouchPtr)(int, int, int); BoxTouchPtr box_touch; int box_touch_brick(int, int, int); int box_touch_tiled(int, int, int); typedef int (CommTiled::*PointDropPtr)(int, double *); PointDropPtr point_drop; int point_drop_brick(int, double *); int point_drop_tiled(int, double *); int point_drop_tiled_recurse(double *, int, int); int closer_subbox_edge(int, double *); void grow_send(int, int); // reallocate send buffer void grow_recv(int); // free/allocate recv buffer void grow_list(int, int, int); // reallocate sendlist for one swap/proc void allocate_swap(int); // allocate swap arrays void grow_swap_send(int, int, int); // grow swap arrays for send and recv void grow_swap_recv(int, int); void deallocate_swap(int); // deallocate swap arrays }; } #endif /* ERROR/WARNING messages: */ diff --git a/src/compute.h b/src/compute.h index 992acbef1..b456453bb 100644 --- a/src/compute.h +++ b/src/compute.h @@ -1,195 +1,195 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_COMPUTE_H #define LMP_COMPUTE_H #include "pointers.h" namespace LAMMPS_NS { class Compute : protected Pointers { public: char *id,*style; int igroup,groupbit; double scalar; // computed global scalar double *vector; // computed global vector double **array; // computed global array double *vector_atom; // computed per-atom vector double **array_atom; // computed per-atom array double *vector_local; // computed local vector double **array_local; // computed local array int scalar_flag; // 0/1 if compute_scalar() function exists int vector_flag; // 0/1 if compute_vector() function exists int array_flag; // 0/1 if compute_array() function exists int size_vector; // length of global vector int size_array_rows; // rows in global array int size_array_cols; // columns in global array int peratom_flag; // 0/1 if compute_peratom() function exists int size_peratom_cols; // 0 = vector, N = columns in peratom array int local_flag; // 0/1 if compute_local() function exists int size_local_rows; // rows in local vector or array int size_local_cols; // 0 = vector, N = columns in local array int extscalar; // 0/1 if global scalar is intensive/extensive int extvector; // 0/1/-1 if global vector is all int/ext/extlist int *extlist; // list of 0/1 int/ext for each vec component int extarray; // 0/1 if global array is all intensive/extensive int tempflag; // 1 if Compute can be used as temperature // must have both compute_scalar, compute_vector int pressflag; // 1 if Compute can be used as pressure (uses virial) // must have both compute_scalar, compute_vector int pressatomflag; // 1 if Compute calculates per-atom virial int peflag; // 1 if Compute calculates PE (uses Force energies) int peatomflag; // 1 if Compute calculates per-atom PE int tempbias; // 0/1 if Compute temp includes self/extra bias int timeflag; // 1 if Compute stores list of timesteps it's called on int ntime; // # of entries in time list int maxtime; // max # of entries time list can hold bigint *tlist; // list of timesteps the Compute is called on int invoked_flag; // non-zero if invoked or accessed this step, 0 if not bigint invoked_scalar; // last timestep on which compute_scalar() was invoked bigint invoked_vector; // ditto for compute_vector() bigint invoked_array; // ditto for compute_array() bigint invoked_peratom; // ditto for compute_peratom() bigint invoked_local; // ditto for compute_local() double dof; // degrees-of-freedom for temperature int comm_forward; // size of forward communication (0 if none) int comm_reverse; // size of reverse communication (0 if none) int dynamic_group_allow; // 1 if can be used with dynamic group, else 0 unsigned int datamask; unsigned int datamask_ext; int cudable; // 1 if compute is CUDA-enabled Compute(class LAMMPS *, int, char **); virtual ~Compute(); void modify_params(int, char **); void adjust_dof_fix(); void reset_extra_dof(); virtual void init() = 0; virtual void init_list(int, class NeighList *) {} virtual void setup() {} virtual double compute_scalar() {return 0.0;} virtual void compute_vector() {} virtual void compute_array() {} virtual void compute_peratom() {} virtual void compute_local() {} virtual int pack_forward_comm(int, int *, double *, int, int *) {return 0;} virtual void unpack_forward_comm(int, int, double *) {} virtual int pack_reverse_comm(int, int, double *) {return 0;} virtual void unpack_reverse_comm(int, int *, double *) {} virtual void dof_remove_pre() {} virtual int dof_remove(int) {return 0;} virtual void remove_bias(int, double *) {} virtual void remove_bias_all() {} virtual void restore_bias(int, double *) {} virtual void restore_bias_all() {} virtual void reset_extra_compute_fix(const char *); void addstep(bigint); int matchstep(bigint); void clearstep(); virtual double memory_usage() {return 0.0;} virtual int unsigned data_mask() {return datamask;} virtual int unsigned data_mask_ext() {return datamask_ext;} protected: int extra_dof; // extra DOF for temperature computes int fix_dof; // DOF due to fixes int dynamic; // recount atoms for temperature computes int thermoflag; // 1 if include fix PE for PE computes double vbias[3]; // stored velocity bias for one atom double **vbiasall; // stored velocity bias for all atoms int maxbias; // size of vbiasall array int *molmap; // convert molecule ID to local index int molecules_in_group(tagint &, tagint &); inline int sbmask(int j) { return j >> SBBITS & 3; } // union data struct for packing 32-bit and 64-bit ints into double bufs // see atom_vec.h for documentation union ubuf { double d; int64_t i; ubuf(double arg) : d(arg) {} ubuf(int64_t arg) : i(arg) {} ubuf(int arg) : i(arg) {} }; }; } #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute ID must be alphanumeric or underscore characters Self-explanatory. E: Could not find compute group ID Self-explanatory. E: Compute does not allow an extra compute or fix to be reset This is an internal LAMMPS error. Please report it to the developers. W: Atom with molecule ID = 0 included in compute molecule group The group used in a compute command that operates on moleclues includes atoms with no molecule ID. This is probably not what you want. E: Too many molecules for compute The limit is 2^31 = ~2 billion molecules. W: One or more compute molecules has atoms not in group The group used in a compute command that operates on moleclues does not include all the atoms in some molecules. This is probably not what you want. */ diff --git a/src/compute_angle_local.h b/src/compute_angle_local.h index d70be2125..c3248b242 100644 --- a/src/compute_angle_local.h +++ b/src/compute_angle_local.h @@ -1,72 +1,72 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(angle/local,ComputeAngleLocal) #else #ifndef LMP_COMPUTE_ANGLE_LOCAL_H #define LMP_COMPUTE_ANGLE_LOCAL_H #include "compute.h" namespace LAMMPS_NS { class ComputeAngleLocal : public Compute { public: ComputeAngleLocal(class LAMMPS *, int, char **); ~ComputeAngleLocal(); void init(); void compute_local(); double memory_usage(); private: int nvalues,tflag,eflag; int ncount; int nmax; double *vector; double **array; int compute_angles(int); void reallocate(int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute angle/local used when angles are not allowed The atom style does not support angles. E: Invalid keyword in compute angle/local command Self-explanatory. E: No angle style is defined for compute angle/local Self-explanatory. */ diff --git a/src/compute_atom_molecule.h b/src/compute_atom_molecule.h index c93dcbee0..683433e17 100644 --- a/src/compute_atom_molecule.h +++ b/src/compute_atom_molecule.h @@ -1,126 +1,126 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(atom/molecule,ComputeAtomMolecule) #else #ifndef LMP_COMPUTE_ATOM_MOLECULE_H #define LMP_COMPUTE_ATOM_MOLECULE_H #include "compute.h" namespace LAMMPS_NS { class ComputeAtomMolecule : public Compute { public: ComputeAtomMolecule(class LAMMPS *, int, char **); ~ComputeAtomMolecule(); void init(); void compute_vector(); void compute_array(); double memory_usage(); private: int nvalues,nmolecules; tagint idlo,idhi; int *which,*argindex,*value2index; char **ids; int nstride,maxatom; double *vone; double **aone; double *scratch; double *peratom; void compute_one(int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute atom/molecule requires molecular atom style Self-explanatory. E: Compute ID for compute atom/molecule does not exist Self-explanatory. E: Compute atom/molecule compute does not calculate per-atom values Self-explanatory. E: Compute atom/molecule compute does not calculate a per-atom vector Self-explanatory. E: Compute atom/molecule compute does not calculate a per-atom array Self-explanatory. E: Compute atom/molecule compute array is accessed out-of-range Self-explanatory. E: Fix ID for compute atom/molecule does not exist Self-explanatory. E: Compute atom/molecule fix does not calculate per-atom values Self-explanatory. E: Compute atom/molecule fix does not calculate a per-atom vector Self-explanatory. E: Compute atom/molecule fix does not calculate a per-atom array Self-explanatory. E: Compute atom/molecule fix array is accessed out-of-range Self-explanatory. E: Variable name for compute atom/molecule does not exist Self-explanatory. E: Compute atom/molecule variable is not atom-style variable Self-explanatory. E: Molecule count changed in compute atom/molecule Number of molecules must remain constant over time. E: Fix used in compute atom/molecule not computed at compatible time The fix must produce per-atom quantities on timesteps that the compute needs them. */ diff --git a/src/compute_bond_local.h b/src/compute_bond_local.h index 9788ef9c8..a6639c211 100644 --- a/src/compute_bond_local.h +++ b/src/compute_bond_local.h @@ -1,74 +1,74 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(bond/local,ComputeBondLocal) #else #ifndef LMP_COMPUTE_BOND_LOCAL_H #define LMP_COMPUTE_BOND_LOCAL_H #include "compute.h" namespace LAMMPS_NS { class ComputeBondLocal : public Compute { public: ComputeBondLocal(class LAMMPS *, int, char **); ~ComputeBondLocal(); void init(); void compute_local(); double memory_usage(); private: int nvalues; int ncount; int *bstyle; int singleflag; int nmax; double *vector; double **array; int compute_bonds(int); void reallocate(int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute bond/local used when bonds are not allowed The atom style does not support bonds. E: Invalid keyword in compute bond/local command Self-explanatory. E: No bond style is defined for compute bond/local Self-explanatory. */ diff --git a/src/compute_centro_atom.h b/src/compute_centro_atom.h index d8ff843c6..6575e3fb5 100644 --- a/src/compute_centro_atom.h +++ b/src/compute_centro_atom.h @@ -1,69 +1,69 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(centro/atom,ComputeCentroAtom) #else #ifndef COMPUTE_CENTRO_ATOM_H #define COMPUTE_CENTRO_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputeCentroAtom : public Compute { public: ComputeCentroAtom(class LAMMPS *, int, char **); ~ComputeCentroAtom(); void init(); void init_list(int, class NeighList *); void compute_peratom(); double memory_usage(); private: int nmax,maxneigh,nnn; double *distsq; int *nearest; class NeighList *list; double *centro; void select(int, int, double *); void select2(int, int, double *, int *); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute centro/atom requires a pair style be defined This is because the computation of the centro-symmetry values uses a pairwise neighbor list. W: More than one compute centro/atom It is not efficient to use compute centro/atom more than once. */ diff --git a/src/compute_cluster_atom.h b/src/compute_cluster_atom.h index 48dfe7eb1..aae474778 100644 --- a/src/compute_cluster_atom.h +++ b/src/compute_cluster_atom.h @@ -1,75 +1,75 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(cluster/atom,ComputeClusterAtom) #else #ifndef LMP_COMPUTE_CLUSTER_ATOM_H #define LMP_COMPUTE_CLUSTER_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputeClusterAtom : public Compute { public: ComputeClusterAtom(class LAMMPS *, int, char **); ~ComputeClusterAtom(); void init(); void init_list(int, class NeighList *); void compute_peratom(); int pack_forward_comm(int, int *, double *, int, int *); void unpack_forward_comm(int, int, double *); double memory_usage(); private: int nmax,commflag; double cutsq; class NeighList *list; double *clusterID; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot use compute cluster/atom unless atoms have IDs Atom IDs are used to identify clusters. E: Compute cluster/atom requires a pair style be defined This is so that the pair style defines a cutoff distance which is used to find clusters. E: Compute cluster/atom cutoff is longer than pairwise cutoff Cannot identify clusters beyond cutoff. W: More than one compute cluster/atom It is not efficient to use compute cluster/atom more than once. */ diff --git a/src/compute_cna_atom.h b/src/compute_cna_atom.h index fdb6c2570..77ea5951d 100644 --- a/src/compute_cna_atom.h +++ b/src/compute_cna_atom.h @@ -1,85 +1,85 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(cna/atom,ComputeCNAAtom) #else #ifndef LMP_COMPUTE_CNA_ATOM_H #define LMP_COMPUTE_CNA_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputeCNAAtom : public Compute { public: ComputeCNAAtom(class LAMMPS *, int, char **); ~ComputeCNAAtom(); void init(); void init_list(int, class NeighList *); void compute_peratom(); double memory_usage(); private: int nmax; double cutsq; class NeighList *list; int **nearest; int *nnearest; double *pattern; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute cna/atom requires a pair style be defined Self-explantory. E: Compute cna/atom cutoff is longer than pairwise cutoff Self-explantory. W: Compute cna/atom cutoff may be too large to find ghost atom neighbors The neighbor cutoff used may not encompass enough ghost atoms to perform this operation correctly. W: More than one compute cna/atom defined It is not efficient to use compute cna/atom more than once. W: Too many neighbors in CNA for %d atoms More than the maximum # of neighbors was found multiple times. This was unexpected. W: Too many common neighbors in CNA %d times More than the maximum # of neighbors was found multiple times. This was unexpected. */ diff --git a/src/compute_com.h b/src/compute_com.h index 6fe46ab6a..5819b1965 100644 --- a/src/compute_com.h +++ b/src/compute_com.h @@ -1,51 +1,51 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(com,ComputeCOM) #else #ifndef LMP_COMPUTE_COM_H #define LMP_COMPUTE_COM_H #include "compute.h" namespace LAMMPS_NS { class ComputeCOM : public Compute { public: ComputeCOM(class LAMMPS *, int, char **); ~ComputeCOM(); void init(); void compute_vector(); private: double masstotal; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/compute_com_molecule.h b/src/compute_com_molecule.h index 3e6fdedd9..207e61967 100644 --- a/src/compute_com_molecule.h +++ b/src/compute_com_molecule.h @@ -1,64 +1,64 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(com/molecule,ComputeCOMMolecule) #else #ifndef LMP_COMPUTE_COM_MOLECULE_H #define LMP_COMPUTE_COM_MOLECULE_H #include "compute.h" namespace LAMMPS_NS { class ComputeCOMMolecule : public Compute { public: ComputeCOMMolecule(class LAMMPS *, int, char **); ~ComputeCOMMolecule(); void init(); void compute_array(); double memory_usage(); private: int nmolecules; tagint idlo,idhi; double *massproc,*masstotal; double **com,**comall; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute com/molecule requires molecular atom style Self-explanatory. E: Molecule count changed in compute com/molecule Number of molecules must remain constant over time. */ diff --git a/src/compute_contact_atom.h b/src/compute_contact_atom.h index e6e78fafd..bf2f1314d 100644 --- a/src/compute_contact_atom.h +++ b/src/compute_contact_atom.h @@ -1,69 +1,69 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(contact/atom,ComputeContactAtom) #else #ifndef LMP_COMPUTE_CONTACT_ATOM_H #define LMP_COMPUTE_CONTACT_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputeContactAtom : public Compute { public: ComputeContactAtom(class LAMMPS *, int, char **); ~ComputeContactAtom(); void init(); void init_list(int, class NeighList *); void compute_peratom(); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); double memory_usage(); private: int nmax; class NeighList *list; double *contact; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute contact/atom requires atom style sphere Self-explanatory. E: Compute contact/atom requires a pair style be defined Self-explantory. W: More than one compute contact/atom It is not efficient to use compute contact/atom more than once. */ diff --git a/src/compute_coord_atom.h b/src/compute_coord_atom.h index d8e99f321..0ff373f13 100644 --- a/src/compute_coord_atom.h +++ b/src/compute_coord_atom.h @@ -1,72 +1,72 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(coord/atom,ComputeCoordAtom) #else #ifndef LMP_COMPUTE_COORD_ATOM_H #define LMP_COMPUTE_COORD_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputeCoordAtom : public Compute { public: ComputeCoordAtom(class LAMMPS *, int, char **); ~ComputeCoordAtom(); void init(); void init_list(int, class NeighList *); void compute_peratom(); double memory_usage(); private: int nmax,ncol; double cutsq; class NeighList *list; int *typelo,*typehi; double *cvec; double **carray; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute coord/atom requires a pair style be defined Self-explantory. E: Compute coord/atom cutoff is longer than pairwise cutoff Cannot compute coordination at distances longer than the pair cutoff, since those atoms are not in the neighbor list. W: More than one compute coord/atom It is not efficient to use compute coord/atom more than once. */ diff --git a/src/compute_dihedral_local.h b/src/compute_dihedral_local.h index 82326bdf8..095ed68df 100644 --- a/src/compute_dihedral_local.h +++ b/src/compute_dihedral_local.h @@ -1,72 +1,72 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(dihedral/local,ComputeDihedralLocal) #else #ifndef LMP_COMPUTE_DIHEDRAL_LOCAL_H #define LMP_COMPUTE_DIHEDRAL_LOCAL_H #include "compute.h" namespace LAMMPS_NS { class ComputeDihedralLocal : public Compute { public: ComputeDihedralLocal(class LAMMPS *, int, char **); ~ComputeDihedralLocal(); void init(); void compute_local(); double memory_usage(); private: int nvalues,pflag; int ncount; int nmax; double *vector; double **array; int compute_dihedrals(int); void reallocate(int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute dihedral/local used when dihedrals are not allowed The atom style does not support dihedrals. E: Invalid keyword in compute dihedral/local command Self-explanatory. E: No dihedral style is defined for compute dihedral/local Self-explanatory. */ diff --git a/src/compute_displace_atom.h b/src/compute_displace_atom.h index be3fbe507..9f2363cd0 100644 --- a/src/compute_displace_atom.h +++ b/src/compute_displace_atom.h @@ -1,59 +1,59 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(displace/atom,ComputeDisplaceAtom) #else #ifndef LMP_COMPUTE_DISPLACE_ATOM_H #define LMP_COMPUTE_DISPLACE_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputeDisplaceAtom : public Compute { public: ComputeDisplaceAtom(class LAMMPS *, int, char **); ~ComputeDisplaceAtom(); void init(); void compute_peratom(); double memory_usage(); private: int nmax; double **displace; char *id_fix; class FixStore *fix; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Could not find compute displace/atom fix ID Self-explanatory. */ diff --git a/src/compute_erotate_sphere.h b/src/compute_erotate_sphere.h index 815a66558..8a4f1f2de 100644 --- a/src/compute_erotate_sphere.h +++ b/src/compute_erotate_sphere.h @@ -1,55 +1,55 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(erotate/sphere,ComputeERotateSphere) #else #ifndef LMP_COMPUTE_EROTATE_SPHERE_H #define LMP_COMPUTE_EROTATE_SPHERE_H #include "compute.h" namespace LAMMPS_NS { class ComputeERotateSphere : public Compute { public: ComputeERotateSphere(class LAMMPS *, int, char **); ~ComputeERotateSphere() {} void init(); double compute_scalar(); private: double pfactor; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute erotate/sphere requires atom style sphere Self-explanatory. */ diff --git a/src/compute_erotate_sphere_atom.h b/src/compute_erotate_sphere_atom.h index 166e0d215..820a75df8 100644 --- a/src/compute_erotate_sphere_atom.h +++ b/src/compute_erotate_sphere_atom.h @@ -1,62 +1,62 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(erotate/sphere/atom,ComputeErotateSphereAtom) #else #ifndef LMP_COMPUTE_EROTATE_SPHERE_ATOM_H #define LMP_COMPUTE_EROTATE_SPHERE_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputeErotateSphereAtom : public Compute { public: ComputeErotateSphereAtom(class LAMMPS *, int, char **); ~ComputeErotateSphereAtom(); void init(); void compute_peratom(); double memory_usage(); private: int nmax; double pfactor; double *erot; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute erotate/sphere/atom requires atom style sphere Self-explanatory. W: More than one compute erotate/sphere/atom It is not efficient to use compute erorate/sphere/atom more than once. */ diff --git a/src/compute_group_group.h b/src/compute_group_group.h index 3286f05cd..c881b08cb 100644 --- a/src/compute_group_group.h +++ b/src/compute_group_group.h @@ -1,89 +1,89 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(group/group,ComputeGroupGroup) #else #ifndef LMP_COMPUTE_GROUP_GROUP_H #define LMP_COMPUTE_GROUP_GROUP_H #include "compute.h" namespace LAMMPS_NS { class ComputeGroupGroup : public Compute { public: ComputeGroupGroup(class LAMMPS *, int, char **); ~ComputeGroupGroup(); void init(); void init_list(int, class NeighList *); double compute_scalar(); void compute_vector(); private: char *group2; int jgroup,jgroupbit,othergroupbit; double **cutsq; double e_self,e_correction; int pairflag,kspaceflag,boundaryflag; class Pair *pair; class NeighList *list; class KSpace *kspace; void pair_contribution(); void kspace_contribution(); void kspace_correction(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute group/group group ID does not exist Self-explanatory. E: No pair style defined for compute group/group Cannot calculate group interactions without a pair style defined. E: Pair style does not support compute group/group The pair_style does not have a single() function, so it cannot be invokded by the compute group/group command. E: No Kspace style defined for compute group/group Self-explanatory. E: Kspace style does not support compute group/group Self-explanatory. W: Both groups in compute group/group have a net charge; the Kspace boundary correction to energy will be non-zero Self-explantory. */ diff --git a/src/compute_gyration.h b/src/compute_gyration.h index 32d79ef26..0aa797ae0 100644 --- a/src/compute_gyration.h +++ b/src/compute_gyration.h @@ -1,52 +1,52 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(gyration,ComputeGyration) #else #ifndef LMP_COMPUTE_GYRATION_H #define LMP_COMPUTE_GYRATION_H #include "compute.h" namespace LAMMPS_NS { class ComputeGyration : public Compute { public: ComputeGyration(class LAMMPS *, int, char **); ~ComputeGyration(); void init(); double compute_scalar(); void compute_vector(); private: double masstotal; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/compute_gyration_molecule.h b/src/compute_gyration_molecule.h index 78b49231a..5fec77db5 100644 --- a/src/compute_gyration_molecule.h +++ b/src/compute_gyration_molecule.h @@ -1,70 +1,70 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(gyration/molecule,ComputeGyrationMolecule) #else #ifndef LMP_COMPUTE_GYRATION_MOLECULE_H #define LMP_COMPUTE_GYRATION_MOLECULE_H #include "compute.h" namespace LAMMPS_NS { class ComputeGyrationMolecule : public Compute { public: ComputeGyrationMolecule(class LAMMPS *, int, char **); ~ComputeGyrationMolecule(); void init(); void compute_vector(); void compute_array(); double memory_usage(); private: int tensor; int nmolecules; tagint idlo,idhi; double *massproc,*masstotal; double **com,**comall; double *rg; double **rgt; void molcom(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute gyration/molecule requires molecular atom style Self-explanatory. E: Molecule count changed in compute gyration/molecule Number of molecules must remain constant over time. */ diff --git a/src/compute_heat_flux.h b/src/compute_heat_flux.h index 865411776..b74d02961 100644 --- a/src/compute_heat_flux.h +++ b/src/compute_heat_flux.h @@ -1,68 +1,68 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(heat/flux,ComputeHeatFlux) #else #ifndef LMP_COMPUTE_HEAT_FLUX_H #define LMP_COMPUTE_HEAT_FLUX_H #include "compute.h" namespace LAMMPS_NS { class ComputeHeatFlux : public Compute { public: ComputeHeatFlux(class LAMMPS *, int, char **); ~ComputeHeatFlux(); void init(); void compute_vector(); private: char *id_ke,*id_pe,*id_stress; class Compute *c_ke,*c_pe,*c_stress; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Could not find compute heat/flux compute ID Self-explanatory. E: Compute heat/flux compute ID does not compute ke/atom Self-explanatory. E: Compute heat/flux compute ID does not compute pe/atom Self-explanatory. E: Compute heat/flux compute ID does not compute stress/atom Self-explanatory. */ diff --git a/src/compute_improper_local.h b/src/compute_improper_local.h index 57fe7886e..9a3905e05 100644 --- a/src/compute_improper_local.h +++ b/src/compute_improper_local.h @@ -1,72 +1,72 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(improper/local,ComputeImproperLocal) #else #ifndef LMP_COMPUTE_IMPROPER_LOCAL_H #define LMP_COMPUTE_IMPROPER_LOCAL_H #include "compute.h" namespace LAMMPS_NS { class ComputeImproperLocal : public Compute { public: ComputeImproperLocal(class LAMMPS *, int, char **); ~ComputeImproperLocal(); void init(); void compute_local(); double memory_usage(); private: int nvalues,cflag; int ncount; int nmax; double *vector; double **array; int compute_impropers(int); void reallocate(int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute improper/local used when impropers are not allowed The atom style does not support impropers. E: Invalid keyword in compute improper/local command Self-explanatory. E: No improper style is defined for compute improper/local Self-explanatory. */ diff --git a/src/compute_inertia_molecule.h b/src/compute_inertia_molecule.h index a081dd1ad..2e3e0c31c 100644 --- a/src/compute_inertia_molecule.h +++ b/src/compute_inertia_molecule.h @@ -1,65 +1,65 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(inertia/molecule,ComputeInertiaMolecule) #else #ifndef LMP_COMPUTE_INERTIA_MOLECULE_H #define LMP_COMPUTE_INERTIA_MOLECULE_H #include "compute.h" namespace LAMMPS_NS { class ComputeInertiaMolecule : public Compute { public: ComputeInertiaMolecule(class LAMMPS *, int, char **); ~ComputeInertiaMolecule(); void init(); void compute_array(); double memory_usage(); private: int nmolecules; tagint idlo,idhi; double *massproc,*masstotal; double **com,**comall; double **inertia,**inertiaall; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute inertia/molecule requires molecular atom style Self-explanatory. E: Molecule count changed in compute inertia/molecule Number of molecules must remain constant over time. */ diff --git a/src/compute_ke.h b/src/compute_ke.h index 5dbfeb308..fb5bf427d 100644 --- a/src/compute_ke.h +++ b/src/compute_ke.h @@ -1,50 +1,50 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(ke,ComputeKE) #else #ifndef LMP_COMPUTE_KE_H #define LMP_COMPUTE_KE_H #include "compute.h" namespace LAMMPS_NS { class ComputeKE : public Compute { public: ComputeKE(class LAMMPS *, int, char **); void init(); double compute_scalar(); private: double pfactor; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/compute_ke_atom.h b/src/compute_ke_atom.h index 3c815ed1c..a8fae9918 100644 --- a/src/compute_ke_atom.h +++ b/src/compute_ke_atom.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(ke/atom,ComputeKEAtom) #else #ifndef LMP_COMPUTE_KE_ATOM_H #define LMP_COMPUTE_KE_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputeKEAtom : public Compute { public: ComputeKEAtom(class LAMMPS *, int, char **); ~ComputeKEAtom(); void init(); void compute_peratom(); double memory_usage(); private: int nmax; double *ke; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: More than one compute ke/atom It is not efficient to use compute ke/atom more than once. */ diff --git a/src/compute_msd.h b/src/compute_msd.h index 23930c0b9..2ce140782 100644 --- a/src/compute_msd.h +++ b/src/compute_msd.h @@ -1,59 +1,59 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(msd,ComputeMSD) #else #ifndef LMP_COMPUTE_MSD_H #define LMP_COMPUTE_MSD_H #include "compute.h" namespace LAMMPS_NS { class ComputeMSD : public Compute { public: ComputeMSD(class LAMMPS *, int, char **); virtual ~ComputeMSD(); void init(); virtual void compute_vector(); protected: int comflag; bigint nmsd; double masstotal; char *id_fix; class FixStore *fix; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Could not find compute msd fix ID Self-explanatory. */ diff --git a/src/compute_msd_molecule.h b/src/compute_msd_molecule.h index 839698cab..454dfe42a 100644 --- a/src/compute_msd_molecule.h +++ b/src/compute_msd_molecule.h @@ -1,66 +1,66 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(msd/molecule,ComputeMSDMolecule) #else #ifndef LMP_COMPUTE_MSD_MOLECULE_H #define LMP_COMPUTE_MSD_MOLECULE_H #include "compute.h" namespace LAMMPS_NS { class ComputeMSDMolecule : public Compute { public: ComputeMSDMolecule(class LAMMPS *, int, char **); ~ComputeMSDMolecule(); void init(); void compute_array(); double memory_usage(); private: int nmolecules; tagint idlo,idhi; int firstflag; double *massproc,*masstotal; double **com,**comall,**cominit; double **msd; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute msd/molecule requires molecular atom style Self-explanatory. E: Molecule count changed in compute msd/molecule Number of molecules must remain constant over time. */ diff --git a/src/compute_pair.h b/src/compute_pair.h index 880d02cbd..37f026f1e 100644 --- a/src/compute_pair.h +++ b/src/compute_pair.h @@ -1,69 +1,69 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(pair,ComputePair) #else #ifndef LMP_COMPUTE_PAIR_H #define LMP_COMPUTE_PAIR_H #include "compute.h" namespace LAMMPS_NS { class ComputePair : public Compute { public: ComputePair(class LAMMPS *, int, char **); ~ComputePair(); void init(); double compute_scalar(); void compute_vector(); private: int evalue,npair; char *pstyle; class Pair *pair; double *one; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute pair must use group all Pair styles accumlate energy on all atoms. E: Unrecognized pair style in compute pair command Self-explanatory. E: Energy was not tallied on needed timestep You are using a thermo keyword that requires potentials to have tallied energy, but they didn't on this timestep. See the variable doc page for ideas on how to make this work. */ diff --git a/src/compute_pair_local.h b/src/compute_pair_local.h index be4a23c61..663c3f931 100644 --- a/src/compute_pair_local.h +++ b/src/compute_pair_local.h @@ -1,85 +1,85 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(pair/local,ComputePairLocal) #else #ifndef LMP_COMPUTE_PAIR_LOCAL_H #define LMP_COMPUTE_PAIR_LOCAL_H #include "compute.h" namespace LAMMPS_NS { class ComputePairLocal : public Compute { public: ComputePairLocal(class LAMMPS *, int, char **); ~ComputePairLocal(); void init(); void init_list(int, class NeighList *); void compute_local(); double memory_usage(); private: int nvalues; int ncount; int *pstyle; // style of each requested output int *pindex; // for pI, index of the output (0 to M-1) int singleflag; int nmax; double *vector; double **array; class NeighList *list; int compute_pairs(int); void reallocate(int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Invalid keyword in compute pair/local command Self-explanatory. E: No pair style is defined for compute pair/local Self-explanatory. E: Pair style does not support compute pair/local The pair style does not have a single() function, so it can not be invoked by compute pair/local. E: Pair style does not have extra field requested by compute pair/local The pair style does not support the pN value requested by the compute pair/local command. */ diff --git a/src/compute_pe.h b/src/compute_pe.h index 88a2b6379..175d860a6 100644 --- a/src/compute_pe.h +++ b/src/compute_pe.h @@ -1,62 +1,62 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(pe,ComputePE) #else #ifndef LMP_COMPUTE_PE_H #define LMP_COMPUTE_PE_H #include "compute.h" namespace LAMMPS_NS { class ComputePE : public Compute { public: ComputePE(class LAMMPS *, int, char **); ~ComputePE() {} void init() {} double compute_scalar(); private: int pairflag,bondflag,angleflag,dihedralflag,improperflag,kspaceflag; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute pe must use group all Energies computed by potentials (pair, bond, etc) are computed on all atoms. E: Energy was not tallied on needed timestep You are using a thermo keyword that requires potentials to have tallied energy, but they didn't on this timestep. See the variable doc page for ideas on how to make this work. */ diff --git a/src/compute_pe_atom.h b/src/compute_pe_atom.h index 986e16fcd..453cd9823 100755 --- a/src/compute_pe_atom.h +++ b/src/compute_pe_atom.h @@ -1,62 +1,62 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(pe/atom,ComputePEAtom) #else #ifndef LMP_COMPUTE_PE_ATOM_H #define LMP_COMPUTE_PE_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputePEAtom : public Compute { public: ComputePEAtom(class LAMMPS *, int, char **); ~ComputePEAtom(); void init() {} void compute_peratom(); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); double memory_usage(); private: int pairflag,bondflag,angleflag,dihedralflag,improperflag,kspaceflag; int nmax; double *energy; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Per-atom energy was not tallied on needed timestep You are using a thermo keyword that requires potentials to have tallied energy, but they didn't on this timestep. See the variable doc page for ideas on how to make this work. */ diff --git a/src/compute_pressure.h b/src/compute_pressure.h index 093a21c76..e2f25ae75 100644 --- a/src/compute_pressure.h +++ b/src/compute_pressure.h @@ -1,88 +1,88 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(pressure,ComputePressure) #else #ifndef LMP_COMPUTE_PRESSURE_H #define LMP_COMPUTE_PRESSURE_H #include "compute.h" namespace LAMMPS_NS { class ComputePressure : public Compute { public: ComputePressure(class LAMMPS *, int, char **); virtual ~ComputePressure(); void init(); double compute_scalar(); void compute_vector(); void reset_extra_compute_fix(const char *); protected: double boltz,nktv2p,inv_volume; int nvirial,dimension; double **vptr; double *kspace_virial; Compute *temperature; char *id_temp; double virial[6]; int keflag,pairflag,bondflag,angleflag,dihedralflag,improperflag; int fixflag,kspaceflag; void virial_compute(int, int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute pressure must use group all Virial contributions computed by potentials (pair, bond, etc) are computed on all atoms. E: Could not find compute pressure temperature ID The compute ID for calculating temperature does not exist. E: Compute pressure temperature ID does not compute temperature The compute ID assigned to a pressure computation must compute temperature. E: Must use 'kspace_modify pressure/scalar no' to get individual components of pressure tensor with kspace_style MSM Self-explanatory. E: Virial was not tallied on needed timestep You are using a thermo keyword that requires potentials to have tallied the virial, but they didn't on this timestep. See the variable doc page for ideas on how to make this work. */ diff --git a/src/compute_property_atom.h b/src/compute_property_atom.h index 9315813f8..e9e957918 100644 --- a/src/compute_property_atom.h +++ b/src/compute_property_atom.h @@ -1,160 +1,160 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(property/atom,ComputePropertyAtom) #else #ifndef LMP_COMPUTE_PROPERTY_ATOM_H #define LMP_COMPUTE_PROPERTY_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputePropertyAtom : public Compute { public: ComputePropertyAtom(class LAMMPS *, int, char **); ~ComputePropertyAtom(); void init(); void compute_peratom(); double memory_usage(); private: int nvalues; int nmax; int *index; double *vector; double **array; double *buf; class AtomVecEllipsoid *avec_ellipsoid; class AtomVecLine *avec_line; class AtomVecTri *avec_tri; class AtomVecBody *avec_body; typedef void (ComputePropertyAtom::*FnPtrPack)(int); FnPtrPack *pack_choice; // ptrs to pack functions void pack_id(int); void pack_molecule(int); void pack_proc(int); void pack_type(int); void pack_mass(int); void pack_x(int); void pack_y(int); void pack_z(int); void pack_xs(int); void pack_ys(int); void pack_zs(int); void pack_xs_triclinic(int); void pack_ys_triclinic(int); void pack_zs_triclinic(int); void pack_xu(int); void pack_yu(int); void pack_zu(int); void pack_xu_triclinic(int); void pack_yu_triclinic(int); void pack_zu_triclinic(int); void pack_ix(int); void pack_iy(int); void pack_iz(int); void pack_vx(int); void pack_vy(int); void pack_vz(int); void pack_fx(int); void pack_fy(int); void pack_fz(int); void pack_q(int); void pack_mux(int); void pack_muy(int); void pack_muz(int); void pack_mu(int); void pack_radius(int); void pack_diameter(int); void pack_omegax(int); void pack_omegay(int); void pack_omegaz(int); void pack_angmomx(int); void pack_angmomy(int); void pack_angmomz(int); void pack_shapex(int); void pack_shapey(int); void pack_shapez(int); void pack_quatw(int); void pack_quati(int); void pack_quatj(int); void pack_quatk(int); void pack_tqx(int); void pack_tqy(int); void pack_tqz(int); void pack_end1x(int); void pack_end1y(int); void pack_end1z(int); void pack_end2x(int); void pack_end2y(int); void pack_end2z(int); void pack_corner1x(int); void pack_corner1y(int); void pack_corner1z(int); void pack_corner2x(int); void pack_corner2y(int); void pack_corner2z(int); void pack_corner3x(int); void pack_corner3y(int); void pack_corner3z(int); void pack_nbonds(int); void pack_iname(int); void pack_dname(int); void pack_property_atom(int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute property/atom for atom property that isn't allocated Self-explanatory. E: Compute property/atom floating point vector does not exist The command is accessing a vector added by the fix property/atom command, that does not exist. E: Compute property/atom integer vector does not exist The command is accessing a vector added by the fix property/atom command, that does not exist. E: Invalid keyword in compute property/atom command Self-explanatory. */ diff --git a/src/compute_property_local.h b/src/compute_property_local.h index 756dd43cf..beb84d7d7 100644 --- a/src/compute_property_local.h +++ b/src/compute_property_local.h @@ -1,125 +1,125 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(property/local,ComputePropertyLocal) #else #ifndef LMP_COMPUTE_PROPERTY_LOCAL_H #define LMP_COMPUTE_PROPERTY_LOCAL_H #include "compute.h" namespace LAMMPS_NS { class ComputePropertyLocal : public Compute { public: ComputePropertyLocal(class LAMMPS *, int, char **); ~ComputePropertyLocal(); void init(); void init_list(int, class NeighList *); void compute_local(); double memory_usage(); private: int nvalues,kindflag; int nmax; double *vector; double **array; double *buf; class NeighList *list; int ncount; int **indices; int count_pairs(int, int); int count_bonds(int); int count_angles(int); int count_dihedrals(int); int count_impropers(int); void reallocate(int); typedef void (ComputePropertyLocal::*FnPtrPack)(int); FnPtrPack *pack_choice; // ptrs to pack functions void pack_patom1(int); void pack_patom2(int); void pack_ptype1(int); void pack_ptype2(int); void pack_batom1(int); void pack_batom2(int); void pack_btype(int); void pack_aatom1(int); void pack_aatom2(int); void pack_aatom3(int); void pack_atype(int); void pack_datom1(int); void pack_datom2(int); void pack_datom3(int); void pack_datom4(int); void pack_dtype(int); void pack_iatom1(int); void pack_iatom2(int); void pack_iatom3(int); void pack_iatom4(int); void pack_itype(int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute property/local cannot use these inputs together Only inputs that generate the same number of datums can be used togther. E.g. bond and angle quantities cannot be mixed. E: Invalid keyword in compute property/local command Self-explanatory. E: Compute property/local does not (yet) work with atom_style template Self-explanatory. E: Compute property/local for property that isn't allocated Self-explanatory. E: No pair style is defined for compute property/local Self-explanatory. E: Pair style does not support compute property/local The pair style does not have a single() function, so it can not be invoked by fix bond/swap. */ diff --git a/src/compute_property_molecule.h b/src/compute_property_molecule.h index 27cebe8fe..c810c3231 100644 --- a/src/compute_property_molecule.h +++ b/src/compute_property_molecule.h @@ -1,74 +1,74 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(property/molecule,ComputePropertyMolecule) #else #ifndef LMP_COMPUTE_PROPERTY_MOLECULE_H #define LMP_COMPUTE_PROPERTY_MOLECULE_H #include "compute.h" namespace LAMMPS_NS { class ComputePropertyMolecule : public Compute { public: ComputePropertyMolecule(class LAMMPS *, int, char **); ~ComputePropertyMolecule(); void init(); void compute_vector(); void compute_array(); double memory_usage(); private: int nvalues,nmolecules; tagint idlo,idhi; double *buf; typedef void (ComputePropertyMolecule::*FnPtrPack)(int); FnPtrPack *pack_choice; // ptrs to pack functions void pack_mol(int); void pack_count(int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute property/molecule requires molecular atom style Self-explanatory. E: Invalid keyword in compute property/molecule command Self-explanatory. E: Molecule count changed in compute property/molecule Number of molecules must remain constant over time. */ diff --git a/src/compute_reduce.h b/src/compute_reduce.h index b0195d982..9701f0e61 100644 --- a/src/compute_reduce.h +++ b/src/compute_reduce.h @@ -1,154 +1,154 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(reduce,ComputeReduce) #else #ifndef LMP_COMPUTE_REDUCE_H #define LMP_COMPUTE_REDUCE_H #include "compute.h" namespace LAMMPS_NS { class ComputeReduce : public Compute { public: ComputeReduce(class LAMMPS *, int, char **); virtual ~ComputeReduce(); void init(); double compute_scalar(); void compute_vector(); double memory_usage(); protected: int me; int mode,nvalues,iregion; int *which,*argindex,*flavor,*value2index; char **ids; double *onevec; int *replace,*indices,*owner; int index; char *idregion; int maxatom; double *varatom; struct Pair { double value; int proc; }; Pair pairme,pairall; virtual double compute_one(int, int); virtual bigint count(int); void combine(double &, double, int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Region ID for compute reduce/region does not exist Self-explanatory. E: Compute reduce replace requires min or max mode Self-explanatory. E: Invalid replace values in compute reduce Self-explanatory. E: Compute ID for compute reduce does not exist Self-explanatory. E: Compute reduce compute does not calculate a per-atom vector Self-explanatory. E: Compute reduce compute does not calculate a per-atom array Self-explanatory. E: Compute reduce compute array is accessed out-of-range An index for the array is out of bounds. E: Compute reduce compute does not calculate a local vector Self-explanatory. E: Compute reduce compute does not calculate a local array Self-explanatory. E: Compute reduce compute calculates global values A compute that calculates peratom or local values is required. E: Fix ID for compute reduce does not exist Self-explanatory. E: Compute reduce fix does not calculate a per-atom vector Self-explanatory. E: Compute reduce fix does not calculate a per-atom array Self-explanatory. E: Compute reduce fix array is accessed out-of-range An index for the array is out of bounds. E: Compute reduce fix does not calculate a local vector Self-explanatory. E: Compute reduce fix does not calculate a local array Self-explanatory. E: Compute reduce fix calculates global values A fix that calculates peratom or local values is required. E: Variable name for compute reduce does not exist Self-explanatory. E: Compute reduce variable is not atom-style variable Self-explanatory. E: Fix used in compute reduce not computed at compatible time Fixes generate their values on specific timesteps. Compute reduce is requesting a value on a non-allowed timestep. */ diff --git a/src/compute_reduce_region.h b/src/compute_reduce_region.h index bba46383f..2c86cfd78 100644 --- a/src/compute_reduce_region.h +++ b/src/compute_reduce_region.h @@ -1,49 +1,49 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(reduce/region,ComputeReduceRegion) #else #ifndef LMP_COMPUTE_REDUCE_REGION_H #define LMP_COMPUTE_REDUCE_REGION_H #include "compute_reduce.h" namespace LAMMPS_NS { class ComputeReduceRegion : public ComputeReduce { public: ComputeReduceRegion(class LAMMPS *, int, char **); ~ComputeReduceRegion() {} private: double compute_one(int, int); bigint count(int); }; } #endif #endif /* ERROR/WARNING messages: E: Fix used in compute reduce not computed at compatible time Fixes generate their values on specific timesteps. Compute reduce is requesting a value on a non-allowed timestep. */ diff --git a/src/compute_slice.h b/src/compute_slice.h index b112d72a3..7435b7f21 100644 --- a/src/compute_slice.h +++ b/src/compute_slice.h @@ -1,110 +1,110 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(slice,ComputeSlice) #else #ifndef LMP_COMPUTE_SLICE_H #define LMP_COMPUTE_SLICE_H #include "compute.h" namespace LAMMPS_NS { class ComputeSlice : public Compute { public: ComputeSlice(class LAMMPS *, int, char **); virtual ~ComputeSlice(); void init(); void compute_vector(); void compute_array(); private: int me; int nstart,nstop,nskip,nvalues; int *which,*argindex,*value2index; char **ids; void extract_one(int, double *, int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute ID for compute slice does not exist Self-explanatory. E: Compute slice compute does not calculate a global array Self-explanatory. E: Compute slice compute vector is accessed out-of-range The index for the vector is out of bounds. E: Compute slice compute does not calculate a global vector Self-explanatory. E: Compute slice compute array is accessed out-of-range An index for the array is out of bounds. E: Compute slice compute does not calculate global vector or array Self-explanatory. E: Fix ID for compute slice does not exist Self-explanatory. E: Compute slice fix does not calculate a global array Self-explanatory. E: Compute slice fix vector is accessed out-of-range The index for the vector is out of bounds. E: Compute slice fix does not calculate a global vector Self-explanatory. E: Compute slice fix array is accessed out-of-range An index for the array is out of bounds. E: Compute slice fix does not calculate global vector or array Self-explanatory. E: Fix used in compute slice not computed at compatible time Fixes generate their values on specific timesteps. Compute slice is requesting a value on a non-allowed timestep. */ diff --git a/src/compute_stress_atom.h b/src/compute_stress_atom.h index 313c06b53..07fde385e 100644 --- a/src/compute_stress_atom.h +++ b/src/compute_stress_atom.h @@ -1,66 +1,66 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(stress/atom,ComputeStressAtom) #else #ifndef LMP_COMPUTE_STRESS_ATOM_H #define LMP_COMPUTE_STRESS_ATOM_H #include "compute.h" namespace LAMMPS_NS { class ComputeStressAtom : public Compute { public: ComputeStressAtom(class LAMMPS *, int, char **); ~ComputeStressAtom(); void init(); void compute_peratom(); int pack_reverse_comm(int, int, double *); void unpack_reverse_comm(int, int *, double *); double memory_usage(); private: int keflag,pairflag,bondflag,angleflag,dihedralflag,improperflag; int kspaceflag,fixflag,biasflag; Compute *temperature; char *id_temp; int nmax; double **stress; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Per-atom virial was not tallied on needed timestep You are using a thermo keyword that requires potentials to have tallied the virial, but they didn't on this timestep. See the variable doc page for ideas on how to make this work. */ diff --git a/src/compute_temp.h b/src/compute_temp.h index 055c4929f..cfe5012f8 100644 --- a/src/compute_temp.h +++ b/src/compute_temp.h @@ -1,55 +1,55 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(temp,ComputeTemp) #else #ifndef LMP_COMPUTE_TEMP_H #define LMP_COMPUTE_TEMP_H #include "compute.h" namespace LAMMPS_NS { class ComputeTemp : public Compute { public: ComputeTemp(class LAMMPS *, int, char **); virtual ~ComputeTemp(); void init() {} void setup(); double compute_scalar(); void compute_vector(); protected: double tfactor; virtual void dof_compute(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/compute_temp_partial.h b/src/compute_temp_partial.h index 2fda76237..ef9ea5b85 100644 --- a/src/compute_temp_partial.h +++ b/src/compute_temp_partial.h @@ -1,67 +1,67 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(temp/partial,ComputeTempPartial) #else #ifndef LMP_COMPUTE_TEMP_PARTIAL_H #define LMP_COMPUTE_TEMP_PARTIAL_H #include "compute.h" namespace LAMMPS_NS { class ComputeTempPartial : public Compute { public: ComputeTempPartial(class LAMMPS *, int, char **); virtual ~ComputeTempPartial(); void init() {} void setup(); double compute_scalar(); void compute_vector(); int dof_remove(int); void remove_bias(int, double *); void remove_bias_all(); void restore_bias(int, double *); void restore_bias_all(); double memory_usage(); protected: int xflag,yflag,zflag; double tfactor; void dof_compute(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute temp/partial cannot use vz for 2d systemx Self-explanatory. */ diff --git a/src/compute_temp_profile.h b/src/compute_temp_profile.h index 634090ea8..630ca85a3 100644 --- a/src/compute_temp_profile.h +++ b/src/compute_temp_profile.h @@ -1,86 +1,86 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(temp/profile,ComputeTempProfile) #else #ifndef LMP_COMPUTE_TEMP_PROFILE_H #define LMP_COMPUTE_TEMP_PROFILE_H #include "compute.h" namespace LAMMPS_NS { class ComputeTempProfile : public Compute { public: ComputeTempProfile(class LAMMPS *, int, char **); ~ComputeTempProfile(); void init(); void setup(); double compute_scalar(); void compute_vector(); void compute_array(); void remove_bias(int, double *); void remove_bias_all(); void restore_bias(int, double *); void restore_bias_all(); double memory_usage(); private: int xflag,yflag,zflag,ncount,outflag; int nbinx,nbiny,nbinz,nbins; int ivx,ivy,ivz; double tfactor; int box_change,triclinic; int *periodicity; double *boxlo,*boxhi,*prd; double invdelta[3]; int maxatom; int *bin; double **vbin,**binave; double *tbin,*tbinall; void dof_compute(); void bin_average(); void bin_setup(); void bin_assign(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute temp/profile cannot use vz for 2d systemx Self-explanatory. E: Compute temp/profile cannot bin z for 2d systems Self-explanatory. */ diff --git a/src/compute_temp_ramp.h b/src/compute_temp_ramp.h index 3c1497e71..3fabc1d81 100644 --- a/src/compute_temp_ramp.h +++ b/src/compute_temp_ramp.h @@ -1,66 +1,66 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(temp/ramp,ComputeTempRamp) #else #ifndef LMP_COMPUTE_TEMP_RAMP_H #define LMP_COMPUTE_TEMP_RAMP_H #include "compute.h" namespace LAMMPS_NS { class ComputeTempRamp : public Compute { public: ComputeTempRamp(class LAMMPS *, int, char **); ~ComputeTempRamp(); void init() {} void setup(); double compute_scalar(); void compute_vector(); void remove_bias(int, double *); void remove_bias_all(); void restore_bias(int, double *); void restore_bias_all(); double memory_usage(); private: int coord_dim; double coord_lo,coord_hi; int v_dim; double v_lo,v_hi; int scaleflag; double tfactor,xscale,yscale,zscale; void dof_compute(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/compute_temp_region.h b/src/compute_temp_region.h index 2489748f3..2b2ddfd17 100644 --- a/src/compute_temp_region.h +++ b/src/compute_temp_region.h @@ -1,66 +1,66 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(temp/region,ComputeTempRegion) #else #ifndef LMP_COMPUTE_TEMP_REGION_H #define LMP_COMPUTE_TEMP_REGION_H #include "compute.h" namespace LAMMPS_NS { class ComputeTempRegion : public Compute { public: ComputeTempRegion(class LAMMPS *, int, char **); virtual ~ComputeTempRegion(); void init(); void setup(); virtual double compute_scalar(); virtual void compute_vector(); void dof_remove_pre(); int dof_remove(int); void remove_bias(int, double *); void remove_bias_all(); void restore_bias(int, double *); void restore_bias_all(); double memory_usage(); protected: int iregion; char *idregion; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Region ID for compute temp/region does not exist Self-explanatory. */ diff --git a/src/compute_temp_sphere.h b/src/compute_temp_sphere.h index 505276f8e..85f231eca 100644 --- a/src/compute_temp_sphere.h +++ b/src/compute_temp_sphere.h @@ -1,83 +1,83 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(temp/sphere,ComputeTempSphere) #else #ifndef LMP_COMPUTE_TEMP_SPHERE_H #define LMP_COMPUTE_TEMP_SPHERE_H #include "compute.h" namespace LAMMPS_NS { class ComputeTempSphere : public Compute { public: ComputeTempSphere(class LAMMPS *, int, char **); ~ComputeTempSphere(); void init(); void setup(); double compute_scalar(); void compute_vector(); void remove_bias(int, double *); void restore_bias(int, double *); private: int mode; double tfactor; double *inertia; char *id_bias; Compute *tbias; // ptr to additional bias compute void dof_compute(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute temp/sphere requires atom style sphere Self-explanatory. E: Could not find compute ID for temperature bias Self-explanatory. E: Bias compute does not calculate temperature The specified compute must compute temperature. E: Bias compute does not calculate a velocity bias The specified compute must compute a bias for temperature. E: Bias compute group does not match compute group The specified compute must operate on the same group as the parent compute. */ diff --git a/src/compute_vacf.h b/src/compute_vacf.h index d37e45550..a8cc41a89 100755 --- a/src/compute_vacf.h +++ b/src/compute_vacf.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMPUTE_CLASS ComputeStyle(vacf,ComputeVACF) #else #ifndef LMP_COMPUTE_VACF_H #define LMP_COMPUTE_VACF_H #include "compute.h" namespace LAMMPS_NS { class ComputeVACF : public Compute { public: ComputeVACF(class LAMMPS *, int, char **); ~ComputeVACF(); void init(); virtual void compute_vector(); protected: bigint nvacf; char *id_fix; class FixStore *fix; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Could not find compute vacf fix ID Self-explanatory. */ diff --git a/src/create_atoms.h b/src/create_atoms.h index 1d9593cdf..a75a29d48 100644 --- a/src/create_atoms.h +++ b/src/create_atoms.h @@ -1,135 +1,135 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMMAND_CLASS CommandStyle(create_atoms,CreateAtoms) #else #ifndef LMP_CREATE_ATOMS_H #define LMP_CREATE_ATOMS_H #include "pointers.h" namespace LAMMPS_NS { class CreateAtoms : protected Pointers { public: CreateAtoms(class LAMMPS *); void command(int, char **); private: int ntype,style,mode,nregion,nbasis,nrandom,seed; int *basistype; double xone[3]; int remapflag; int varflag,vvar,xvar,yvar,zvar; char *vstr,*xstr,*ystr,*zstr; char *xstr_copy,*ystr_copy,*zstr_copy; class Molecule *onemol; class RanMars *ranmol; int triclinic; double sublo[3],subhi[3]; // epsilon-extended proc sub-box for adding atoms void add_single(); void add_random(); void add_lattice(); void add_molecule(double *); int vartest(double *); // evaluate a variable with new atom position }; } #endif #endif /* ERROR/WARNING messages: E: Create_atoms command before simulation box is defined The create_atoms command cannot be used before a read_data, read_restart, or create_box command. E: Cannot create_atoms after reading restart file with per-atom info The per-atom info was stored to be used when by a fix that you may re-define. If you add atoms before re-defining the fix, then there will not be a correct amount of per-atom info. E: Illegal ... command 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: Create_atoms region ID does not exist A region ID used in the create_atoms command does not exist. E: Invalid basis setting in create_atoms command The basis index must be between 1 to N where N is the number of basis atoms in the lattice. The type index must be between 1 to N where N is the number of atom types. E: Molecule template ID for create_atoms does not exist Self-explantory. W: Molecule template for create_atoms has multiple molecules The create_atoms command will only create molecules of a single type, i.e. the first molecule in the template. E: Invalid atom type in create_atoms command The create_box command specified the range of valid atom types. An invalid type is being requested. E: Create_atoms molecule must have coordinates The defined molecule does not specify coordinates. E: Create_atoms molecule must have atom types The defined molecule does not specify atom types. E: Invalid atom type in create_atoms mol command The atom types in the defined molecule are added to the value specified in the create_atoms command, as an offset. The final value for each atom must be between 1 to N, where N is the number of atom types. E: Create_atoms molecule has atom IDs, but system does not The atom_style id command can be used to force atom IDs to be stored. E: Cannot create atoms with undefined lattice Must use the lattice command before using the create_atoms command. E: Too many total atoms See the setting for bigint in the src/lmptype.h file. E: No overlap of box and region for create_atoms Self-explanatory. */ diff --git a/src/create_box.h b/src/create_box.h index ffb77cc2c..2d94b80d8 100644 --- a/src/create_box.h +++ b/src/create_box.h @@ -1,80 +1,80 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMMAND_CLASS CommandStyle(create_box,CreateBox) #else #ifndef LMP_CREATE_BOX_H #define LMP_CREATE_BOX_H #include "pointers.h" namespace LAMMPS_NS { class CreateBox : protected Pointers { public: CreateBox(class LAMMPS *); void command(int, char **); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot create_box after simulation box is defined A simulation box can only be defined once. E: Cannot run 2d simulation with nonperiodic Z dimension Use the boundary command to make the z dimension periodic in order to run a 2d simulation. E: Create_box region ID does not exist Self-explanatory. E: Create_box region does not support a bounding box Not all regions represent bounded volumes. You cannot use such a region with the create_box command. E: No bonds allowed with this atom style Self-explanatory. E: No angles allowed with this atom style Self-explanatory. E: No dihedrals allowed with this atom style Self-explanatory. E: No impropers allowed with this atom style Self-explanatory. */ diff --git a/src/delete_atoms.h b/src/delete_atoms.h index cb826f09e..44ced98c0 100644 --- a/src/delete_atoms.h +++ b/src/delete_atoms.h @@ -1,97 +1,97 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMMAND_CLASS CommandStyle(delete_atoms,DeleteAtoms) #else #ifndef LMP_DELETE_ATOMS_H #define LMP_DELETE_ATOMS_H #include "pointers.h" #include namespace LAMMPS_NS { class DeleteAtoms : protected Pointers { public: DeleteAtoms(class LAMMPS *); void command(int, char **); private: int *dlist; int compress_flag,mol_flag; std::map *hash; void delete_group(int, char **); void delete_region(int, char **); void delete_overlap(int, char **); void delete_porosity(int, char **); void delete_molecule(); void recount_topology(); void options(int, char **); inline int sbmask(int j) { return j >> SBBITS & 3; } // static variable for ring communication callback to access class data // callback functions for ring communication static DeleteAtoms *cptr; static void molring(int, char *); }; } #endif #endif /* ERROR/WARNING messages: E: Delete_atoms command before simulation box is defined The delete_atoms command cannot be used before a read_data, read_restart, or create_box command. E: Illegal ... command 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: Cannot use delete_atoms unless atoms have IDs Your atoms do not have IDs, so the delete_atoms command cannot be used. E: Could not find delete_atoms group ID Group ID used in the delete_atoms command does not exist. E: Could not find delete_atoms region ID Region ID used in the delete_atoms command does not exist. E: Delete_atoms requires a pair style be defined This is because atom deletion within a cutoff uses a pairwise neighbor list. E: Delete_atoms cutoff > neighbor cutoff Cannot delete atoms further away than a processor knows about. */ diff --git a/src/delete_bonds.h b/src/delete_bonds.h index 50260c59a..60d76b908 100644 --- a/src/delete_bonds.h +++ b/src/delete_bonds.h @@ -1,87 +1,87 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMMAND_CLASS CommandStyle(delete_bonds,DeleteBonds) #else #ifndef LMP_DELETE_BONDS_H #define LMP_DELETE_BONDS_H #include "pointers.h" namespace LAMMPS_NS { class DeleteBonds : protected Pointers { public: DeleteBonds(class LAMMPS *); void command(int, char **); }; } #endif #endif /* ERROR/WARNING messages: E: Delete_bonds command before simulation box is defined The delete_bonds command cannot be used before a read_data, read_restart, or create_box command. E: Delete_bonds command with no atoms existing No atoms are yet defined so the delete_bonds command cannot be used. E: Cannot use delete_bonds with non-molecular system Your choice of atom style does not have bonds. E: Illegal ... command 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: Cannot find delete_bonds group ID Group ID used in the delete_bonds command does not exist. E: Bond atom missing in delete_bonds The delete_bonds command cannot find one or more atoms in a particular bond on a particular processor. The pairwise cutoff is too short or the atoms are too far apart to make a valid bond. E: Angle atom missing in delete_bonds The delete_bonds command cannot find one or more atoms in a particular angle on a particular processor. The pairwise cutoff is too short or the atoms are too far apart to make a valid angle. E: Dihedral atom missing in delete_bonds The delete_bonds command cannot find one or more atoms in a particular dihedral on a particular processor. The pairwise cutoff is too short or the atoms are too far apart to make a valid dihedral. E: Improper atom missing in delete_bonds The delete_bonds command cannot find one or more atoms in a particular improper on a particular processor. The pairwise cutoff is too short or the atoms are too far apart to make a valid improper. */ diff --git a/src/dihedral_hybrid.h b/src/dihedral_hybrid.h index 1526415c4..bb6bf5621 100644 --- a/src/dihedral_hybrid.h +++ b/src/dihedral_hybrid.h @@ -1,85 +1,85 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef DIHEDRAL_CLASS DihedralStyle(hybrid,DihedralHybrid) #else #ifndef LMP_DIHEDRAL_HYBRID_H #define LMP_DIHEDRAL_HYBRID_H #include "stdio.h" #include "dihedral.h" namespace LAMMPS_NS { class DihedralHybrid : public Dihedral { public: int nstyles; // # of different dihedral styles Dihedral **styles; // class list for each Dihedral style char **keywords; // keyword for each dihedral style DihedralHybrid(class LAMMPS *); ~DihedralHybrid(); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); void write_restart(FILE *); void read_restart(FILE *); double memory_usage(); private: int *map; // which style each dihedral type points to int *ndihedrallist; // # of dihedrals in sub-style dihedrallists int *maxdihedral; // max # of dihedrals sub-style lists can store int ***dihedrallist; // dihedrallist for each sub-style void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Dihedral style hybrid cannot use same dihedral style twice Self-explanatory. E: Dihedral style hybrid cannot have hybrid as an argument Self-explanatory. E: Dihedral style hybrid cannot have none as an argument Self-explanatory. E: Dihedral coeff for hybrid has invalid style Dihedral style hybrid uses another dihedral style as one of its coefficients. The dihedral style used in the dihedral_coeff command or read from a restart file is not recognized. */ diff --git a/src/displace_atoms.h b/src/displace_atoms.h index ab30ab598..5e70c5d80 100644 --- a/src/displace_atoms.h +++ b/src/displace_atoms.h @@ -1,77 +1,77 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMMAND_CLASS CommandStyle(displace_atoms,DisplaceAtoms) #else #ifndef LMP_DISPLACE_ATOMS_H #define LMP_DISPLACE_ATOMS_H #include "pointers.h" namespace LAMMPS_NS { class DisplaceAtoms : protected Pointers { public: DisplaceAtoms(class LAMMPS *); void command(int, char **); private: int scaleflag; void options(int, char **); }; } #endif #endif /* ERROR/WARNING messages: E: Displace_atoms command before simulation box is defined The displace_atoms command cannot be used before a read_data, read_restart, or create_box command. E: Illegal ... command 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: Cannot displace_atoms after reading restart file with per-atom info This is because the restart file info cannot be migrated with the atoms. You can get around this by performing a 0-timestep run which will assign the restart file info to actual atoms. E: Could not find displace_atoms group ID Group ID used in the displace_atoms command does not exist. E: Invalid displace_atoms rotate axis for 2d Axis must be in z direction. E: Zero length rotation vector with displace_atoms Self-explanatory. W: Lost atoms via displace_atoms: original %ld current %ld The command options you have used caused atoms to be lost. */ diff --git a/src/domain.h b/src/domain.h index 158a9d95f..9bb50f551 100644 --- a/src/domain.h +++ b/src/domain.h @@ -1,255 +1,255 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_DOMAIN_H #define LMP_DOMAIN_H #include "math.h" #include "pointers.h" namespace LAMMPS_NS { class Domain : protected Pointers { public: int box_exist; // 0 = not yet created, 1 = exists int dimension; // 2 = 2d, 3 = 3d int nonperiodic; // 0 = periodic in all 3 dims // 1 = periodic or fixed in all 6 // 2 = shrink-wrap in any of 6 int xperiodic,yperiodic,zperiodic; // 0 = non-periodic, 1 = periodic int periodicity[3]; // xyz periodicity as array int boundary[3][2]; // settings for 6 boundaries // 0 = periodic // 1 = fixed non-periodic // 2 = shrink-wrap non-periodic // 3 = shrink-wrap non-per w/ min int triclinic; // 0 = orthog box, 1 = triclinic int tiltsmall; // 1 if limit tilt, else 0 // orthogonal box double xprd,yprd,zprd; // global box dimensions double xprd_half,yprd_half,zprd_half; // half dimensions double prd[3]; // array form of dimensions double prd_half[3]; // array form of half dimensions // triclinic box // xprd,xprd_half,prd,prd_half = // same as if untilted double prd_lamda[3]; // lamda box = (1,1,1) double prd_half_lamda[3]; // lamda half box = (0.5,0.5,0.5) double boxlo[3],boxhi[3]; // orthogonal box global bounds // triclinic box // boxlo/hi = same as if untilted double boxlo_lamda[3],boxhi_lamda[3]; // lamda box = (0,1) double boxlo_bound[3],boxhi_bound[3]; // bounding box of tilted domain double corners[8][3]; // 8 corner points // orthogonal box & triclinic box double minxlo,minxhi; // minimum size of global box double minylo,minyhi; // when shrink-wrapping double minzlo,minzhi; // tri only possible for non-skew dims // orthogonal box double sublo[3],subhi[3]; // sub-box bounds on this proc // triclinic box // sublo/hi = undefined double sublo_lamda[3],subhi_lamda[3]; // bounds of subbox in lamda // triclinic box double xy,xz,yz; // 3 tilt factors double h[6],h_inv[6]; // shape matrix in Voigt notation double h_rate[6],h_ratelo[3]; // rate of box size/shape change int box_change; // 1 if any of next 3 flags are set, else 0 int box_change_size; // 1 if box size changes, 0 if not int box_change_shape; // 1 if box shape changes, 0 if not int box_change_domain; // 1 if proc sub-domains change, 0 if not int deform_flag; // 1 if fix deform exist, else 0 int deform_vremap; // 1 if fix deform remaps v, else 0 int deform_groupbit; // atom group to perform v remap for class Lattice *lattice; // user-defined lattice int nregion; // # of defined Regions int maxregion; // max # list can hold class Region **regions; // list of defined Regions Domain(class LAMMPS *); virtual ~Domain(); virtual void init(); void set_initial_box(int expandflag=1); virtual void set_global_box(); virtual void set_lamda_box(); virtual void set_local_box(); virtual void reset_box(); virtual void pbc(); void image_check(); void box_too_small_check(); void minimum_image(double &, double &, double &); void minimum_image(double *); int closest_image(int, int); void closest_image(const double * const, const double * const, double * const); void remap(double *, imageint &); void remap(double *); void remap_near(double *, double *); void unmap(double *, imageint); void unmap(double *, imageint, double *); void image_flip(int, int, int); void set_lattice(int, char **); void add_region(int, char **); void delete_region(int, char **); int find_region(char *); void set_boundary(int, char **, int); void set_box(int, char **); void print_box(const char *); void boundary_string(char *); virtual void lamda2x(int); virtual void x2lamda(int); virtual void lamda2x(double *, double *); virtual void x2lamda(double *, double *); void x2lamda(double *, double *, double *, double *); void bbox(double *, double *, double *, double *); void box_corners(); void subbox_corners(); void lamda_box_corners(double *, double *); // minimum image convention check // return 1 if any distance > 1/2 of box size // indicates a special neighbor is actually not in a bond, // but is a far-away image that should be treated as an unbonded neighbor // inline since called from neighbor build inner loop // inline int minimum_image_check(double dx, double dy, double dz) { if (xperiodic && fabs(dx) > xprd_half) return 1; if (yperiodic && fabs(dy) > yprd_half) return 1; if (zperiodic && fabs(dz) > zprd_half) return 1; return 0; } protected: double small[3]; // fractions of box lengths }; } #endif /* ERROR/WARNING messages: E: Box bounds are invalid The box boundaries specified in the read_data file are invalid. The lo value must be less than the hi value for all 3 dimensions. E: Cannot skew triclinic box in z for 2d simulation Self-explanatory. E: Triclinic box skew is too large The displacement in a skewed direction must be less than half the box length in that dimension. E.g. the xy tilt must be between -half and +half of the x box length. This constraint can be relaxed by using the box tilt command. W: Triclinic box skew is large The displacement in a skewed direction is normally required to be less than half the box length in that dimension. E.g. the xy tilt must be between -half and +half of the x box length. You have relaxed the constraint using the box tilt command, but the warning means that a LAMMPS simulation may be inefficient as a result. E: Illegal simulation box The lower bound of the simulation box is greater than the upper bound. E: Bond atom missing in image check The 2nd atom in a particular bond is missing on this processor. Typically this is because the pairwise cutoff is set too short or the bond has blown apart and an atom is too far away. W: Inconsistent image flags The image flags for a pair on bonded atoms appear to be inconsistent. Inconsistent means that when the coordinates of the two atoms are unwrapped using the image flags, the two atoms are far apart. Specifically they are further apart than half a periodic box length. Or they are more than a box length apart in a non-periodic dimension. This is usually due to the initial data file not having correct image flags for the 2 atoms in a bond that straddles a periodic boundary. They should be different by 1 in that case. This is a warning because inconsistent image flags will not cause problems for dynamics or most LAMMPS simulations. However they can cause problems when such atoms are used with the fix rigid or replicate commands. W: Bond atom missing in image check The 2nd atom in a particular bond is missing on this processor. Typically this is because the pairwise cutoff is set too short or the bond has blown apart and an atom is too far away. E: Bond atom missing in box size check The 2nd atoms needed to compute a particular bond is missing on this processor. Typically this is because the pairwise cutoff is set too short or the bond has blown apart and an atom is too far away. W: Bond atom missing in box size check The 2nd atoms needed to compute a particular bond is missing on this processor. Typically this is because the pairwise cutoff is set too short or the bond has blown apart and an atom is too far away. W: Bond/angle/dihedral extent > half of periodic box length This is a restriction because LAMMPS can be confused about which image of an atom in the bonded interaction is the correct one to use. "Extent" in this context means the maximum end-to-end length of the bond/angle/dihedral. LAMMPS computes this by taking the maximum bond length, multiplying by the number of bonds in the interaction (e.g. 3 for a dihedral) and adding a small amount of stretch. E: Illegal ... command 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: Reuse of region ID A region ID cannot be used twice. E: Invalid region style The choice of region style is unknown. E: Delete region ID does not exist Self-explanatory. E: Both sides of boundary must be periodic Cannot specify a boundary as periodic only on the lo or hi side. Must be periodic on both sides. */ diff --git a/src/dump_atom.h b/src/dump_atom.h index 4f8762eff..ce317fea4 100644 --- a/src/dump_atom.h +++ b/src/dump_atom.h @@ -1,86 +1,86 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef DUMP_CLASS DumpStyle(atom,DumpAtom) #else #ifndef LMP_DUMP_ATOM_H #define LMP_DUMP_ATOM_H #include "dump.h" namespace LAMMPS_NS { class DumpAtom : public Dump { public: DumpAtom(LAMMPS *, int, char**); protected: int scale_flag; // 1 if atom coords are scaled, 0 if no int image_flag; // 1 if append box count to atom coords, 0 if no char *columns; // column labels void init_style(); int modify_param(int, char **); void write_header(bigint); void pack(tagint *); int convert_string(int, double *); void write_data(int, double *); typedef void (DumpAtom::*FnPtrHeader)(bigint); FnPtrHeader header_choice; // ptr to write header functions void header_binary(bigint); void header_binary_triclinic(bigint); void header_item(bigint); void header_item_triclinic(bigint); typedef void (DumpAtom::*FnPtrPack)(tagint *); FnPtrPack pack_choice; // ptr to pack functions void pack_scale_image(tagint *); void pack_scale_noimage(tagint *); void pack_noscale_image(tagint *); void pack_noscale_noimage(tagint *); void pack_scale_image_triclinic(tagint *); void pack_scale_noimage_triclinic(tagint *); typedef int (DumpAtom::*FnPtrConvert)(int, double *); FnPtrConvert convert_choice; // ptr to convert data functions int convert_image(int, double *); int convert_noimage(int, double *); typedef void (DumpAtom::*FnPtrWrite)(int, double *); FnPtrWrite write_choice; // ptr to write data functions void write_binary(int, double *); void write_string(int, double *); void write_lines_image(int, double *); void write_lines_noimage(int, double *); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/dump_cfg.h b/src/dump_cfg.h index 9ebcfc0b7..2c142db8a 100755 --- a/src/dump_cfg.h +++ b/src/dump_cfg.h @@ -1,73 +1,73 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef DUMP_CLASS DumpStyle(cfg,DumpCFG) #else #ifndef LMP_DUMP_CFG_H #define LMP_DUMP_CFG_H #include "dump_custom.h" namespace LAMMPS_NS { class DumpCFG : public DumpCustom { public: int multifile_override; // used by write_dump command DumpCFG(class LAMMPS *, int, char **); virtual ~DumpCFG(); private: char **auxname; // name strings of auxiliary properties int unwrapflag; // 1 if unwrapped coordinates are requested void init_style(); void write_header(bigint); int convert_string(int, double *); void write_data(int, double *); typedef void (DumpCFG::*FnPtrWrite)(int, double *); FnPtrWrite write_choice; // ptr to write data functions void write_string(int, double *); void write_lines(int, double *); }; } #endif #endif /* ERROR/WARNING messages: E: Dump cfg arguments must start with 'mass type xs ys zs' or 'mass type xsu ysu zsu' This is a requirement of the CFG output format. See the dump cfg doc page for more details. E: Dump cfg arguments can not mix xs|ys|zs with xsu|ysu|zsu Self-explanatory. E: Invalid keyword in dump cfg command Self-explanatory. E: Dump cfg requires one snapshot per file Use the wildcard "*" character in the filename. */ diff --git a/src/dump_local.h b/src/dump_local.h index 3e06906e9..862ddf21a 100644 --- a/src/dump_local.h +++ b/src/dump_local.h @@ -1,161 +1,161 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef DUMP_CLASS DumpStyle(local,DumpLocal) #else #ifndef LMP_DUMP_LOCAL_H #define LMP_DUMP_LOCAL_H #include "dump.h" namespace LAMMPS_NS { class DumpLocal : public Dump { public: DumpLocal(LAMMPS *, int, char **); virtual ~DumpLocal(); private: int nevery; // dump frequency to check Fix against char *label; // string for dump file header int nmine; // # of lines I am dumping int *vtype; // type of each vector (INT, DOUBLE) char **vformat; // format string for each vector element char *columns; // column labels int nfield; // # of keywords listed by user int *field2index; // which compute,fix,variable calcs this field int *argindex; // index into compute,fix scalar_atom,vector_atom // 0 for scalar_atom, 1-N for vector_atom values int ncompute; // # of Compute objects used by dump char **id_compute; // their IDs class Compute **compute; // list of ptrs to the Compute objects int nfix; // # of Fix objects used by dump char **id_fix; // their IDs class Fix **fix; // list of ptrs to the Fix objects void init_style(); int modify_param(int, char **); void write_header(bigint); int count(); void pack(tagint *); int convert_string(int, double *); void write_data(int, double *); void parse_fields(int, char **); int add_compute(char *); int add_fix(char *); typedef void (DumpLocal::*FnPtrWrite)(int, double *); FnPtrWrite write_choice; // ptr to write data functions void write_string(int, double *); void write_lines(int, double *); // customize by adding a method prototype typedef void (DumpLocal::*FnPtrPack)(int); FnPtrPack *pack_choice; // ptrs to pack functions void pack_index(int); void pack_compute(int); void pack_fix(int); }; } #endif #endif /* ERROR/WARNING messages: E: No dump local arguments specified Self-explanatory. E: Dump local cannot sort by atom ID This is because dump local does not really dump per-atom info. E: Could not find dump local compute ID Self-explanatory. E: Could not find dump local fix ID Self-explanatory. E: Dump local and fix not computed at compatible times The fix must produce per-atom quantities on timesteps that dump local needs them. E: Illegal ... command 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: Dump local count is not consistent across input fields Every column of output must be the same length. E: Invalid attribute in dump local command Self-explantory. E: Dump local compute does not compute local info Self-explanatory. E: Dump local compute does not calculate local vector Self-explanatory. E: Dump local compute does not calculate local array Self-explanatory. E: Dump local compute vector is accessed out-of-range Self-explanatory. E: Dump local fix does not compute local info Self-explanatory. E: Dump local fix does not compute local vector Self-explanatory. E: Dump local fix does not compute local array Self-explanatory. E: Dump local fix vector is accessed out-of-range Self-explanatory. E: Dump local attributes contain no compute or fix Self-explanatory. */ diff --git a/src/dump_xyz.h b/src/dump_xyz.h index 17503d53f..80719f6a8 100644 --- a/src/dump_xyz.h +++ b/src/dump_xyz.h @@ -1,71 +1,71 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef DUMP_CLASS DumpStyle(xyz,DumpXYZ) #else #ifndef LMP_DUMP_XYZ_H #define LMP_DUMP_XYZ_H #include "dump.h" namespace LAMMPS_NS { class DumpXYZ : public Dump { public: DumpXYZ(class LAMMPS *, int, char**); virtual ~DumpXYZ(); protected: int ntypes; char **typenames; void init_style(); void write_header(bigint); void pack(tagint *); int convert_string(int, double *); void write_data(int, double *); int modify_param(int, char **); typedef void (DumpXYZ::*FnPtrWrite)(int, double *); FnPtrWrite write_choice; // ptr to write data functions void write_string(int, double *); void write_lines(int, double *); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Invalid dump xyz filename Filenames used with the dump xyz style cannot be binary or cause files to be written by each processor. E: Dump modify element names do not match atom types Number of element names must equal number of atom types. */ diff --git a/src/error.h b/src/error.h index 67672e1fc..9e8a6491c 100644 --- a/src/error.h +++ b/src/error.h @@ -1,42 +1,42 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_ERROR_H #define LMP_ERROR_H #include "pointers.h" namespace LAMMPS_NS { class Error : protected Pointers { public: Error(class LAMMPS *); void universe_all(const char *, int, const char *); void universe_one(const char *, int, const char *); void universe_warn(const char *, int, const char *); void all(const char *, int, const char *); void one(const char *, int, const char *); void warning(const char *, int, const char *, int = 1); void message(const char *, int, const char *, int = 1); void done(); }; } #endif /* ERROR/WARNING messages: */ diff --git a/src/finish.h b/src/finish.h index 9036aef3b..f93af36ea 100644 --- a/src/finish.h +++ b/src/finish.h @@ -1,35 +1,35 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_FINISH_H #define LMP_FINISH_H #include "pointers.h" namespace LAMMPS_NS { class Finish : protected Pointers { public: Finish(class LAMMPS *); void end(int); private: void stats(int, double *, double *, double *, double *, int, int *); }; } #endif /* ERROR/WARNING messages: */ diff --git a/src/fix_adapt.h b/src/fix_adapt.h index ec29282d1..ef187424e 100644 --- a/src/fix_adapt.h +++ b/src/fix_adapt.h @@ -1,110 +1,110 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(adapt,FixAdapt) #else #ifndef LMP_FIX_ADAPT_H #define LMP_FIX_ADAPT_H #include "fix.h" namespace LAMMPS_NS { class FixAdapt : public Fix { public: int diamflag; // 1 if atom diameters will vary, for AtomVecGranular int chgflag; FixAdapt(class LAMMPS *, int, char **); ~FixAdapt(); int setmask(); void post_constructor(); void init(); void setup_pre_force(int); void pre_force(int); void post_run(); private: int nadapt,resetflag,scaleflag; int anypair; char *id_fix_diam,*id_fix_chg; class FixStore *fix_diam,*fix_chg; struct Adapt { int which,ivar; char *var; char *pstyle,*pparam; int ilo,ihi,jlo,jhi; int pdim; double *scalar,scalar_orig; double **array,**array_orig; int aparam; }; Adapt *adapt; double *kspace_scale; void change_settings(); void restore_settings(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Variable name for fix adapt does not exist Self-explanatory. E: Variable for fix adapt is invalid style Only equal-style variables can be used. E: Fix adapt pair style does not exist Self-explanatory E: Fix adapt pair style param not supported The pair style does not know about the parameter you specified. E: Fix adapt type pair range is not valid for pair hybrid sub-style Self-explanatory. E: Fix adapt kspace style does not exist Self-explanatory. E: Fix adapt requires atom attribute diameter The atom style being used does not specify an atom diameter. E: Fix adapt requires atom attribute charge The atom style being used does not specify an atom charge. */ diff --git a/src/fix_addforce.h b/src/fix_addforce.h index b4ca9839d..d590463a5 100644 --- a/src/fix_addforce.h +++ b/src/fix_addforce.h @@ -1,91 +1,91 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(addforce,FixAddForce) #else #ifndef LMP_FIX_ADDFORCE_H #define LMP_FIX_ADDFORCE_H #include "fix.h" namespace LAMMPS_NS { class FixAddForce : public Fix { public: FixAddForce(class LAMMPS *, int, char **); ~FixAddForce(); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); double compute_scalar(); double compute_vector(int); double memory_usage(); private: double xvalue,yvalue,zvalue; int varflag,iregion; char *xstr,*ystr,*zstr,*estr; char *idregion; int xvar,yvar,zvar,evar,xstyle,ystyle,zstyle,estyle; double foriginal[4],foriginal_all[4]; int force_flag; int nlevels_respa; int maxatom; double **sforce; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Region ID for fix addforce does not exist Self-explanatory. E: Variable name for fix addforce does not exist Self-explanatory. E: Variable for fix addforce is invalid style Self-explanatory. E: Cannot use variable energy with constant force in fix addforce This is because for constant force, LAMMPS can compute the change in energy directly. E: Must use variable energy with fix addforce Must define an energy vartiable when applyting a dynamic force during minimization. */ diff --git a/src/fix_ave_atom.h b/src/fix_ave_atom.h index 0daa87963..7186f0df8 100644 --- a/src/fix_ave_atom.h +++ b/src/fix_ave_atom.h @@ -1,126 +1,126 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(ave/atom,FixAveAtom) #else #ifndef LMP_FIX_AVE_ATOM_H #define LMP_FIX_AVE_ATOM_H #include "stdio.h" #include "fix.h" namespace LAMMPS_NS { class FixAveAtom : public Fix { public: FixAveAtom(class LAMMPS *, int, char **); ~FixAveAtom(); int setmask(); void init(); void setup(int); void end_of_step(); double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); int pack_exchange(int, double *); int unpack_exchange(int, double *); void reset_timestep(bigint); private: int nvalues; int nrepeat,irepeat; bigint nvalid; int *which,*argindex,*value2index; char **ids; double **array; bigint nextvalid(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute ID for fix ave/atom does not exist Self-explanatory. E: Fix ave/atom compute does not calculate per-atom values A compute used by fix ave/atom must generate per-atom values. E: Fix ave/atom compute does not calculate a per-atom vector A compute used by fix ave/atom must generate per-atom values. E: Fix ave/atom compute does not calculate a per-atom array Self-explanatory. E: Fix ave/atom compute array is accessed out-of-range Self-explanatory. E: Fix ID for fix ave/atom does not exist Self-explanatory. E: Fix ave/atom fix does not calculate per-atom values A fix used by fix ave/atom must generate per-atom values. E: Fix ave/atom fix does not calculate a per-atom vector A fix used by fix ave/atom must generate per-atom values. E: Fix ave/atom fix does not calculate a per-atom array Self-explanatory. E: Fix ave/atom fix array is accessed out-of-range Self-explanatory. E: Fix for fix ave/atom not computed at compatible time Fixes generate their values on specific timesteps. Fix ave/atom is requesting a value on a non-allowed timestep. E: Variable name for fix ave/atom does not exist Self-explanatory. E: Fix ave/atom variable is not atom-style variable A variable used by fix ave/atom must generate per-atom values. E: Fix ave/atom missed timestep You cannot reset the timestep to a value beyond where the fix expects to next perform averaging. */ diff --git a/src/fix_ave_correlate.h b/src/fix_ave_correlate.h index 7928b3eda..9ab563ab7 100644 --- a/src/fix_ave_correlate.h +++ b/src/fix_ave_correlate.h @@ -1,134 +1,134 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(ave/correlate,FixAveCorrelate) #else #ifndef LMP_FIX_AVE_CORRELATE_H #define LMP_FIX_AVE_CORRELATE_H #include "stdio.h" #include "fix.h" namespace LAMMPS_NS { class FixAveCorrelate : public Fix { public: FixAveCorrelate(class LAMMPS *, int, char **); ~FixAveCorrelate(); int setmask(); void init(); void setup(int); void end_of_step(); double compute_array(int,int); void reset_timestep(bigint); private: int me,nvalues; int nrepeat,nfreq; bigint nvalid; int *which,*argindex,*value2index; char **ids; FILE *fp; int type,ave,startstep,overwrite; double prefactor; long filepos; int firstindex; // index in values ring of earliest time sample int lastindex; // index in values ring of latest time sample int nsample; // number of time samples in values ring int npair; // number of correlation pairs to calculate int *count; double **values,**corr; int *save_count; // saved values at Nfreq for output via compute_array() double **save_corr; void accumulate(); bigint nextvalid(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot open fix ave/correlate file %s The specified file cannot be opened. Check that the path and name are correct. E: Compute ID for fix ave/correlate does not exist Self-explanatory. E: Fix ave/correlate compute does not calculate a scalar Self-explanatory. E: Fix ave/correlate compute does not calculate a vector Self-explanatory. E: Fix ave/correlate compute vector is accessed out-of-range The index for the vector is out of bounds. E: Fix ID for fix ave/correlate does not exist Self-explanatory. E: Fix ave/correlate fix does not calculate a scalar Self-explanatory. E: Fix ave/correlate fix does not calculate a vector Self-explanatory. E: Fix ave/correlate fix vector is accessed out-of-range The index for the vector is out of bounds. E: Fix for fix ave/correlate not computed at compatible time Fixes generate their values on specific timesteps. Fix ave/correlate is requesting a value on a non-allowed timestep. E: Variable name for fix ave/correlate does not exist Self-explanatory. E: Fix ave/correlate variable is not equal-style variable Self-explanatory. E: Fix ave/correlate missed timestep You cannot reset the timestep to a value beyond where the fix expects to next perform averaging. */ diff --git a/src/fix_ave_histo.h b/src/fix_ave_histo.h index bb45e215a..2d6bee353 100644 --- a/src/fix_ave_histo.h +++ b/src/fix_ave_histo.h @@ -1,227 +1,227 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(ave/histo,FixAveHisto) #else #ifndef LMP_FIX_AVE_HISTO_H #define LMP_FIX_AVE_HISTO_H #include "stdio.h" #include "fix.h" namespace LAMMPS_NS { class FixAveHisto : public Fix { public: FixAveHisto(class LAMMPS *, int, char **); ~FixAveHisto(); int setmask(); void init(); void setup(int); void end_of_step(); double compute_vector(int); double compute_array(int,int); void reset_timestep(bigint); private: int me,nvalues; int nrepeat,nfreq,irepeat; bigint nvalid; int *which,*argindex,*value2index; char **ids; FILE *fp; double lo,hi,binsize,bininv; int kind,beyond,overwrite; long filepos; double stats[4],stats_total[4],stats_all[4]; double **stats_list; int nbins; double *bin,*bin_total,*bin_all; double **bin_list; double *coord; double *vector; int maxatom; int ave,nwindow,startstep,mode; char *title1,*title2,*title3; int iwindow,window_limit; void bin_one(double); void bin_vector(int, double *, int); void bin_atoms(double *, int); void options(int, char **); void allocate_values(int); bigint nextvalid(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute ID for fix ave/histo does not exist Self-explanatory. E: Fix ID for fix ave/histo does not exist Self-explanatory. E: Fix ave/histo input is invalid compute Self-explanatory. E: Fix ave/histo input is invalid fix Self-explanatory. E: Fix ave/histo input is invalid variable Self-explanatory. E: Fix ave/histo inputs are not all global, peratom, or local All inputs in a single fix ave/histo command must be of the same style. E: Fix ave/histo cannot input per-atom values in scalar mode Self-explanatory. E: Fix ave/histo cannot input local values in scalar mode Self-explanatory. E: Fix ave/histo compute does not calculate a global scalar Self-explanatory. E: Fix ave/histo compute does not calculate a global vector Self-explanatory. E: Fix ave/histo compute vector is accessed out-of-range Self-explanatory. E: Fix ave/histo compute does not calculate a global array Self-explanatory. E: Fix ave/histo compute array is accessed out-of-range Self-explanatory. E: Fix ave/histo compute does not calculate per-atom values Self-explanatory. E: Fix ave/histo compute does not calculate a per-atom vector Self-explanatory. E: Fix ave/histo compute does not calculate a per-atom array Self-explanatory. E: Fix ave/histo compute does not calculate local values Self-explanatory. E: Fix ave/histo compute does not calculate a local vector Self-explanatory. E: Fix ave/histo compute does not calculate a local array Self-explanatory. E: Fix ave/histo fix does not calculate a global scalar Self-explanatory. E: Fix ave/histo fix does not calculate a global vector Self-explanatory. E: Fix ave/histo fix vector is accessed out-of-range Self-explanatory. E: Fix for fix ave/histo not computed at compatible time Fixes generate their values on specific timesteps. Fix ave/histo is requesting a value on a non-allowed timestep. E: Fix ave/histo fix does not calculate a global array Self-explanatory. E: Fix ave/histo fix array is accessed out-of-range Self-explanatory. E: Fix ave/histo fix does not calculate per-atom values Self-explanatory. E: Fix ave/histo fix does not calculate a per-atom vector Self-explanatory. E: Fix ave/histo fix does not calculate a per-atom array Self-explanatory. E: Fix ave/histo fix does not calculate local values Self-explanatory. E: Fix ave/histo fix does not calculate a local vector Self-explanatory. E: Fix ave/histo fix does not calculate a local array Self-explanatory. E: Variable name for fix ave/histo does not exist Self-explanatory. E: Cannot open fix ave/histo file %s The specified file cannot be opened. Check that the path and name are correct. E: Fix ave/histo missed timestep You cannot reset the timestep to a value beyond where the fix expects to next perform averaging. */ diff --git a/src/fix_ave_spatial.h b/src/fix_ave_spatial.h index 61116528c..3b96ac901 100644 --- a/src/fix_ave_spatial.h +++ b/src/fix_ave_spatial.h @@ -1,178 +1,178 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(ave/spatial,FixAveSpatial) #else #ifndef LMP_FIX_AVE_SPATIAL_H #define LMP_FIX_AVE_SPATIAL_H #include "stdio.h" #include "fix.h" namespace LAMMPS_NS { class FixAveSpatial : public Fix { public: FixAveSpatial(class LAMMPS *, int, char **); ~FixAveSpatial(); int setmask(); void init(); void setup(int); void end_of_step(); double compute_array(int,int); double memory_usage(); void reset_timestep(bigint); private: int me,nvalues; int nrepeat,nfreq,irepeat; bigint nvalid; int ndim,normflag,regionflag,overwrite; char *tstring,*sstring,*idregion; int *which,*argindex,*value2index; char **ids; FILE *fp; class Region *region; int ave,nwindow,scaleflag; int norm,iwindow,window_limit; double xscale,yscale,zscale; double bin_volume; long filepos; int dim[3],originflag[3],nlayers[3]; double origin[3],delta[3]; double offset[3],invdelta[3]; int maxvar; double *varatom; int maxatom; int *bin; int nbins,maxbin; double **coord; double *count_one,*count_many,*count_sum; double **values_one,**values_many,**values_sum; double *count_total,**count_list; double **values_total,***values_list; void setup_bins(); void atom2bin1d(); void atom2bin2d(); void atom2bin3d(); bigint nextvalid(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot use fix ave/spatial z for 2 dimensional model Self-explanatory. E: Same dimension twice in fix ave/spatial Self-explanatory. E: Region ID for fix ave/spatial does not exist Self-explanatory. E: Cannot open fix ave/spatial file %s The specified file cannot be opened. Check that the path and name are correct. E: Compute ID for fix ave/spatial does not exist Self-explanatory. E: Fix ave/spatial compute does not calculate per-atom values A compute used by fix ave/spatial must generate per-atom values. E: Fix ave/spatial compute does not calculate a per-atom vector A compute used by fix ave/spatial must generate per-atom values. E: Fix ave/spatial compute does not calculate a per-atom array Self-explanatory. E: Fix ave/spatial compute vector is accessed out-of-range The index for the vector is out of bounds. E: Fix ID for fix ave/spatial does not exist Self-explanatory. E: Fix ave/spatial fix does not calculate per-atom values A fix used by fix ave/spatial must generate per-atom values. E: Fix ave/spatial fix does not calculate a per-atom vector A fix used by fix ave/spatial must generate per-atom values. E: Fix ave/spatial fix does not calculate a per-atom array Self-explanatory. E: Fix ave/spatial fix vector is accessed out-of-range The index for the vector is out of bounds. E: Variable name for fix ave/spatial does not exist Self-explanatory. E: Fix ave/spatial variable is not atom-style variable A variable used by fix ave/spatial must generate per-atom values. E: Fix ave/spatial for triclinic boxes requires units reduced Self-explanatory. E: Fix ave/spatial settings invalid with changing box size If the box size changes, only the units reduced option can be used. E: Fix for fix ave/spatial not computed at compatible time Fixes generate their values on specific timesteps. Fix ave/spatial is requesting a value on a non-allowed timestep. E: Fix ave/spatial missed timestep You cannot reset the timestep to a value beyond where the fix expects to next perform averaging. */ diff --git a/src/fix_ave_time.h b/src/fix_ave_time.h index 4186d5458..a14daff97 100644 --- a/src/fix_ave_time.h +++ b/src/fix_ave_time.h @@ -1,174 +1,174 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(ave/time,FixAveTime) #else #ifndef LMP_FIX_AVE_TIME_H #define LMP_FIX_AVE_TIME_H #include "stdio.h" #include "fix.h" namespace LAMMPS_NS { class FixAveTime : public Fix { public: FixAveTime(class LAMMPS *, int, char **); ~FixAveTime(); int setmask(); void init(); void setup(int); void end_of_step(); double compute_scalar(); double compute_vector(int); double compute_array(int,int); void reset_timestep(bigint); private: int me,nvalues; int nrepeat,nfreq,irepeat; bigint nvalid; int *which,*argindex,*value2index,*offcol; char **ids; FILE *fp; int nrows; int ave,nwindow,startstep,mode; int noff,overwrite; int *offlist; char *title1,*title2,*title3; long filepos; int norm,iwindow,window_limit; double *vector; double *vector_total; double **vector_list; double *column; double **array; double **array_total; double ***array_list; void invoke_scalar(bigint); void invoke_vector(bigint); void options(int, char **); void allocate_values(int); bigint nextvalid(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Compute ID for fix ave/time does not exist Self-explanatory. E: Fix ID for fix ave/time does not exist Self-explanatory. E: Invalid fix ave/time off column Self-explantory. E: Fix ave/time compute does not calculate a scalar Self-explantory. E: Fix ave/time compute does not calculate a vector Self-explantory. E: Fix ave/time compute vector is accessed out-of-range The index for the vector is out of bounds. E: Fix ave/time compute does not calculate an array Self-explanatory. E: Fix ave/time compute array is accessed out-of-range An index for the array is out of bounds. E: Fix ave/time fix does not calculate a scalar Self-explanatory. E: Fix ave/time fix does not calculate a vector Self-explanatory. E: Fix ave/time fix vector is accessed out-of-range The index for the vector is out of bounds. E: Fix for fix ave/time not computed at compatible time Fixes generate their values on specific timesteps. Fix ave/time is requesting a value on a non-allowed timestep. E: Fix ave/time fix does not calculate an array Self-explanatory. E: Fix ave/time fix array is accessed out-of-range An index for the array is out of bounds. E: Variable name for fix ave/time does not exist Self-explanatory. E: Fix ave/time variable is not equal-style variable Self-explanatory. E: Fix ave/time cannot use variable with vector mode Variables produce scalar values. E: Fix ave/time columns are inconsistent lengths Self-explanatory. E: Fix ave/time cannot set output array intensive/extensive from these inputs One of more of the vector inputs has individual elements which are flagged as intensive or extensive. Such an input cannot be flagged as all intensive/extensive when turned into an array by fix ave/time. E: Cannot open fix ave/time file %s The specified file cannot be opened. Check that the path and name are correct. E: Fix ave/time missed timestep You cannot reset the timestep to a value beyond where the fix expects to next perform averaging. */ diff --git a/src/fix_aveforce.h b/src/fix_aveforce.h index ba5aa3764..2ec311034 100644 --- a/src/fix_aveforce.h +++ b/src/fix_aveforce.h @@ -1,76 +1,76 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(aveforce,FixAveForce) #else #ifndef LMP_FIX_AVEFORCE_H #define LMP_FIX_AVEFORCE_H #include "fix.h" namespace LAMMPS_NS { class FixAveForce : public Fix { public: FixAveForce(class LAMMPS *, int, char **); ~FixAveForce(); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); double compute_vector(int); private: double xvalue,yvalue,zvalue; int varflag; char *xstr,*ystr,*zstr; char *idregion; int xvar,yvar,zvar,xstyle,ystyle,zstyle; int iregion; double foriginal_all[4]; int nlevels_respa; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Region ID for fix aveforce does not exist Self-explanatory. E: Variable name for fix aveforce does not exist Self-explanatory. E: Variable for fix aveforce is invalid style Only equal-style variables can be used. */ diff --git a/src/fix_balance.h b/src/fix_balance.h index a193f78da..775d885d8 100644 --- a/src/fix_balance.h +++ b/src/fix_balance.h @@ -1,87 +1,87 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(balance,FixBalance) #else #ifndef LMP_FIX_BALANCE_H #define LMP_FIX_BALANCE_H #include "stdio.h" #include "fix.h" namespace LAMMPS_NS { class FixBalance : public Fix { public: FixBalance(class LAMMPS *, int, char **); ~FixBalance(); int setmask(); void init(); void setup(int); void setup_pre_exchange(); void pre_exchange(); void pre_neighbor(); double compute_scalar(); double compute_vector(int); double memory_usage(); private: int nevery,lbstyle,nitermax,outflag; double thresh,stopthresh; char bstr[3]; FILE *fp; double imbnow; // current imbalance factor double imbprev; // imbalance factor before last rebalancing double imbfinal; // imbalance factor after last rebalancing int maxperproc; // max atoms on any processor int itercount; // iteration count of last call to Balance int kspace_flag; // 1 if KSpace solver defined int pending; class Balance *balance; class Irregular *irregular; void rebalance(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 balance string is invalid The string can only contain the characters "x", "y", or "z". E: Fix balance string is invalid for 2d simulation The string cannot contain the letter "z". E: Cannot open fix balance output file Self-explanatory. */ diff --git a/src/fix_box_relax.h b/src/fix_box_relax.h index e29889df0..874fa169b 100644 --- a/src/fix_box_relax.h +++ b/src/fix_box_relax.h @@ -1,196 +1,196 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(box/relax,FixBoxRelax) #else #ifndef LMP_FIX_BOX_RELAX_H #define LMP_FIX_BOX_RELAX_H #include "fix.h" namespace LAMMPS_NS { class FixBoxRelax : public Fix { public: FixBoxRelax(class LAMMPS *, int, char **); ~FixBoxRelax(); int setmask(); void init(); double min_energy(double *); void min_store(); void min_clearstore(); void min_pushstore(); void min_popstore(); int min_reset_ref(); void min_step(double, double *); double max_alpha(double *); int min_dof(); int modify_param(int, char **); private: int p_flag[6]; int pstyle,pcouple,allremap; int dimension; double p_target[6],p_current[6]; double vol0,xprdinit,yprdinit,zprdinit; double vmax,pv2e,pflagsum; int kspace_flag; int current_lifo; // LIFO stack pointer double boxlo0[2][3]; // box bounds at start of line search double boxhi0[2][3]; double boxtilt0[2][3]; // xy,xz,yz tilts at start of line search double ds[6]; // increment in scale matrix int scaleyz; // 1 if yz scaled with lz int scalexz; // 1 if xz scaled with lz int scalexy; // 1 if xy scaled with ly double fixedpoint[3]; // Location of dilation fixed-point char *id_temp,*id_press; class Compute *temperature,*pressure; int tflag,pflag; int nrigid; int *rfix; double sigma[6]; // scaled target stress double utsigma[3]; // weighting for upper-tri elements // of modified sigma int sigmamod_flag; // 1 if modified sigma to be used double fdev[6]; // Deviatoric force on cell int deviatoric_flag; // 0 if target stress tensor is hydrostatic double h0[6]; // h_inv of reference (zero strain) box double h0_inv[6]; // h_inv of reference (zero strain) box int nreset_h0; // interval for resetting h0 double p_hydro; // hydrostatic component of target stress void remap(); void couple(); void compute_sigma(); void compute_deviatoric(); double compute_strain_energy(); void compute_press_target(); double compute_scalar(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Invalid fix box/relax command for a 2d simulation Fix box/relax styles involving the z dimension cannot be used in a 2d simulation. E: Invalid fix box/relax command pressure settings If multiple dimensions are coupled, those dimensions must be specified. E: Cannot use fix box/relax on a non-periodic dimension When specifying a diagonal pressure component, the dimension must be periodic. E: Cannot use fix box/relax on a 2nd non-periodic dimension When specifying an off-diagonal pressure 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 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. E: Cannot use fix box/relax with both relaxation and scaling on a tilt factor When specifying scaling on a tilt factor component, that component can not also be controlled by the barostat. E.g. if scalexy yes is specified and also keyword tri or xy, this is wrong. E: Can not specify Pxy/Pxz/Pyz in fix box/relax with non-triclinic box Only triclinic boxes can be used with off-diagonal pressure components. See the region prism command for details. E: Invalid fix box/relax pressure settings Settings for coupled dimensions must be the same. E: Temperature ID for fix box/relax does not exist Self-explanatory. E: Pressure ID for fix box/relax does not exist The compute ID needed to compute pressure for the fix does not exist. E: Attempt to push beyond stack limit in fix box/relax Internal LAMMPS error. Please report it to the developers. E: Attempt to pop empty stack in fix box/relax Internal LAMMPS error. Please report it to the developers. E: Fix box/relax generated negative box length The pressure being applied is likely too large. Try applying it incrementally, to build to the high pressure. E: Could not find fix_modify temperature ID The compute ID for computing temperature does not exist. E: Fix_modify temperature ID does not compute temperature The compute ID assigned to the fix must compute temperature. W: Temperature for fix modify is not for group all The temperature compute is being used with a pressure calculation which does operate on group all, so this may be inconsistent. E: Pressure ID for fix modify does not exist Self-explanatory. E: Could not find fix_modify pressure ID The compute ID for computing pressure does not exist. E: Fix_modify pressure ID does not compute pressure The compute ID assigned to the fix must compute pressure. */ diff --git a/src/fix_deform.h b/src/fix_deform.h index e0bc3a1a6..469fa8776 100644 --- a/src/fix_deform.h +++ b/src/fix_deform.h @@ -1,136 +1,136 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(deform,FixDeform) #else #ifndef LMP_FIX_DEFORM_H #define LMP_FIX_DEFORM_H #include "fix.h" namespace LAMMPS_NS { class FixDeform : public Fix { public: int remapflag; // whether x,v are remapped across PBC int dimflag[6]; // which dims are deformed FixDeform(class LAMMPS *, int, char **); ~FixDeform(); int setmask(); void init(); void pre_exchange(); void end_of_step(); double memory_usage(); private: int triclinic,scaleflag,flipflag; int flip,flipxy,flipxz,flipyz; double *h_rate,*h_ratelo; int varflag; // 1 if VARIABLE option is used, 0 if not int kspace_flag; // 1 if KSpace invoked, 0 if not int nrigid; // number of rigid fixes int *rfix; // indices of rigid fixes class Irregular *irregular; // for migrating atoms after box flips double TWOPI; struct Set { int style,substyle; double flo,fhi,ftilt; double dlo,dhi,dtilt; double scale,vel,rate; double amplitude,tperiod; double lo_initial,hi_initial; double lo_start,hi_start,lo_stop,hi_stop,lo_target,hi_target; double tilt_initial,tilt_start,tilt_stop,tilt_target,tilt_flip; double tilt_min,tilt_max; double vol_initial,vol_start; int fixed,dynamic1,dynamic2; char *hstr,*hratestr; int hvar,hratevar; }; Set *set; void options(int, char **); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 deform tilt factors require triclinic box Cannot deform the tilt factors of a simulation box unless it is a triclinic (non-orthogonal) box. E: Cannot use fix deform on a shrink-wrapped boundary The x, y, z options cannot be applied to shrink-wrapped dimensions. E: Cannot use fix deform tilt on a shrink-wrapped 2nd dim This is because the shrink-wrapping will change the value of the strain implied by the tilt factor. E: Fix deform volume setting is invalid Cannot use volume style unless other dimensions are being controlled. E: More than one fix deform Only one fix deform can be defined at a time. E: Variable name for fix deform does not exist Self-explantory. E: Variable for fix deform is invalid style The variable must be an equal-style variable. E: Final box dimension due to fix deform is < 0.0 Self-explanatory. E: Cannot use fix deform trate on a box with zero tilt The trate style alters the current strain. E: Fix deform cannot use yz variable with xy The yz setting cannot be a variable if xy deformation is also specified. This is because LAMMPS cannot determine if the yz setting will induce a box flip which would be invalid if xy is also changing. E: Fix deform is changing yz too much with xy When both yz and xy are changing, it induces changes in xz if the box must flip from one tilt extreme to another. Thus it is not allowed for yz to grow so much that a flip is induced. */ diff --git a/src/fix_drag.h b/src/fix_drag.h index e6b05d803..dc0075143 100644 --- a/src/fix_drag.h +++ b/src/fix_drag.h @@ -1,60 +1,60 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(drag,FixDrag) #else #ifndef LMP_FIX_DRAG_H #define LMP_FIX_DRAG_H #include "fix.h" namespace LAMMPS_NS { class FixDrag : public Fix { public: FixDrag(class LAMMPS *, int, char **); int setmask(); void init(); void setup(int); void post_force(int); void post_force_respa(int, int, int); double compute_vector(int); private: double xc,yc,zc; double f_mag; int xflag,yflag,zflag; double delta; int nlevels_respa; double ftotal[3],ftotal_all[3]; int force_flag; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/fix_dt_reset.h b/src/fix_dt_reset.h index 92abf3b63..6e08b14f6 100644 --- a/src/fix_dt_reset.h +++ b/src/fix_dt_reset.h @@ -1,64 +1,64 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(dt/reset,FixDtReset) #else #ifndef LMP_FIX_DT_RESET_H #define LMP_FIX_DT_RESET_H #include "fix.h" namespace LAMMPS_NS { class FixDtReset : public Fix { public: FixDtReset(class LAMMPS *, int, char **); ~FixDtReset() {} int setmask(); void init(); void setup(int); void end_of_step(); double compute_scalar(); private: bigint laststep; int minbound,maxbound; double tmin,tmax,xmax; double ftm2v; double dt,t_laststep; int respaflag; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Dump dcd/xtc timestamp may be wrong with fix dt/reset If the fix changes the timestep, the dump dcd file will not reflect the change. */ diff --git a/src/fix_enforce2d.h b/src/fix_enforce2d.h index f3f56dbb9..9de3bed8f 100644 --- a/src/fix_enforce2d.h +++ b/src/fix_enforce2d.h @@ -1,56 +1,56 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(enforce2d,FixEnforce2D) #else #ifndef LMP_FIX_ENFORCE2D_H #define LMP_FIX_ENFORCE2D_H #include "fix.h" namespace LAMMPS_NS { class FixEnforce2D : public Fix { public: FixEnforce2D(class LAMMPS *, int, char **); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot use fix enforce2d with 3d simulation Self-explanatory. */ diff --git a/src/fix_external.h b/src/fix_external.h index 118a67844..39faadeff 100644 --- a/src/fix_external.h +++ b/src/fix_external.h @@ -1,76 +1,76 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(external,FixExternal) #else #ifndef LMP_FIX_EXTERNAL_H #define LMP_FIX_EXTERNAL_H #include "fix.h" namespace LAMMPS_NS { class FixExternal : public Fix { public: double **fexternal; FixExternal(class LAMMPS *, int, char **); ~FixExternal(); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void min_post_force(int); double compute_scalar(); void set_energy(double eng); double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); int pack_exchange(int, double *); int unpack_exchange(int, double *); typedef void (*FnPtr)(void *, bigint, int, tagint *, double **, double **); void set_callback(FnPtr, void *); private: int mode,ncall,napply; FnPtr callback; void *ptr_caller; double user_energy; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 external callback function not set This must be done by an external program in order to use this fix. */ diff --git a/src/fix_gravity.h b/src/fix_gravity.h index 63c166248..f37a5bb41 100644 --- a/src/fix_gravity.h +++ b/src/fix_gravity.h @@ -1,81 +1,81 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(gravity,FixGravity) #else #ifndef LMP_FIX_GRAVITY_H #define LMP_FIX_GRAVITY_H #include "fix.h" namespace LAMMPS_NS { class FixGravity : public Fix { friend class FixPour; public: FixGravity(class LAMMPS *, int, char **); ~FixGravity(); int setmask(); void init(); void setup(int); virtual void post_force(int); virtual void post_force_respa(int, int, int); double compute_scalar(); protected: int style; double magnitude; double vert,phi,theta; double xdir,ydir,zdir; double xgrav,ygrav,zgrav,xacc,yacc,zacc; double degree2rad; int nlevels_respa; int time_origin; int eflag; double egrav,egrav_all; int varflag; int mstyle,vstyle,pstyle,tstyle,xstyle,ystyle,zstyle; int mvar,vvar,pvar,tvar,xvar,yvar,zvar; char *mstr,*vstr,*pstr,*tstr,*xstr,*ystr,*zstr; void set_acceleration(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Variable name for fix gravity does not exist Self-explanatory. E: Variable for fix gravity is invalid style Only equal-style variables can be used. */ diff --git a/src/fix_group.h b/src/fix_group.h index 45adcdc1c..c5a1db106 100644 --- a/src/fix_group.h +++ b/src/fix_group.h @@ -1,53 +1,53 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(GROUP,FixGroup) #else #ifndef LMP_FIX_GROUP_H #define LMP_FIX_GROUP_H #include "fix.h" namespace LAMMPS_NS { class FixGroup : public Fix { public: FixGroup(class LAMMPS *, int, char **); ~FixGroup(); int setmask(); void init(); void setup(int); void post_integrate(); private: int gbit,gbitinverse; int regionflag,varflag; int iregion,ivar; char *idregion,*idvar; class Region *region; void set_group(); }; } #endif #endif /* ERROR/WARNING messages: */ diff --git a/src/fix_heat.h b/src/fix_heat.h index d55b26bf4..36def2cfd 100644 --- a/src/fix_heat.h +++ b/src/fix_heat.h @@ -1,90 +1,90 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(heat,FixHeat) #else #ifndef LMP_FIX_HEAT_H #define LMP_FIX_HEAT_H #include "fix.h" namespace LAMMPS_NS { class FixHeat : public Fix { public: FixHeat(class LAMMPS *, int, char **); ~FixHeat(); int setmask(); void init(); void end_of_step(); double compute_scalar(); double memory_usage(); private: int iregion; double heat_input; double masstotal; double scale; char *idregion; char *hstr; int hstyle,hvar; int maxatom; double *vheat; double *vscale; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Region ID for fix heat does not exist Self-explanatory. E: Variable name for fix heat does not exist Self-explanatory. E: Variable for fix heat is invalid style Only equal-style or atom-style variables can be used. E: Fix heat group has no atoms Self-explanatory. E: Fix heat kinetic energy went negative This will cause the velocity rescaling about to be performed by fix heat to be invalid. E: Fix heat kinetic energy of an atom went negative This will cause the velocity rescaling about to be performed by fix heat to be invalid. */ diff --git a/src/fix_indent.h b/src/fix_indent.h index f4639147a..98f8d081e 100644 --- a/src/fix_indent.h +++ b/src/fix_indent.h @@ -1,80 +1,80 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(indent,FixIndent) #else #ifndef LMP_FIX_INDENT_H #define LMP_FIX_INDENT_H #include "fix.h" namespace LAMMPS_NS { class FixIndent : public Fix { public: FixIndent(class LAMMPS *, int, char **); ~FixIndent(); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); double compute_scalar(); double compute_vector(int); private: int istyle,scaleflag,side; double k,k3; char *xstr,*ystr,*zstr,*rstr,*pstr; int xvar,yvar,zvar,rvar,pvar; double xvalue,yvalue,zvalue,rvalue,pvalue; int indenter_flag,planeside; double indenter[4],indenter_all[4]; int cdim,varflag; int nlevels_respa; void options(int, char **); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Variable name for fix indent does not exist Self-explanatory. E: Variable for fix indent is invalid style Only equal-style variables can be used. E: Variable for fix indent is not equal style Only equal-style variables can be used. */ diff --git a/src/fix_lineforce.h b/src/fix_lineforce.h index 2e367333f..80e1cd296 100644 --- a/src/fix_lineforce.h +++ b/src/fix_lineforce.h @@ -1,54 +1,54 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(lineforce,FixLineForce) #else #ifndef LMP_FIX_LINEFORCE_H #define LMP_FIX_LINEFORCE_H #include "fix.h" namespace LAMMPS_NS { class FixLineForce : public Fix { public: FixLineForce(class LAMMPS *, int, char **); int setmask(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); private: double xdir,ydir,zdir; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/fix_minimize.h b/src/fix_minimize.h index bc8a310a0..7b9f57162 100644 --- a/src/fix_minimize.h +++ b/src/fix_minimize.h @@ -1,62 +1,62 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(MINIMIZE,FixMinimize) #else #ifndef LMP_FIX_MINIMIZE_H #define LMP_FIX_MINIMIZE_H #include "fix.h" namespace LAMMPS_NS { class FixMinimize : public Fix { friend class MinLineSearch; public: FixMinimize(class LAMMPS *, int, char **); ~FixMinimize(); int setmask(); void init() {} double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); int pack_exchange(int, double *); int unpack_exchange(int, double *); void add_vector(int); double *request_vector(int); void store_box(); void reset_coords(); private: int nvector; int *peratom; double **vectors; double boxlo[3],boxhi[3]; void box_swap(); }; } #endif #endif /* ERROR/WARNING messages: */ diff --git a/src/fix_momentum.h b/src/fix_momentum.h index c647b1842..21650715a 100644 --- a/src/fix_momentum.h +++ b/src/fix_momentum.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(momentum,FixMomentum) #else #ifndef LMP_FIX_MOMENTUM_H #define LMP_FIX_MOMENTUM_H #include "fix.h" namespace LAMMPS_NS { class FixMomentum : public Fix { public: FixMomentum(class LAMMPS *, int, char **); int setmask(); void init(); void end_of_step(); private: int linear,angular; int xflag,yflag,zflag; double masstotal; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 momentum group has no atoms Self-explanatory. */ diff --git a/src/fix_move.h b/src/fix_move.h index 2c60f3508..9a40a9a52 100644 --- a/src/fix_move.h +++ b/src/fix_move.h @@ -1,130 +1,130 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(move,FixMove) #else #ifndef LMP_FIX_MOVE_H #define LMP_FIX_MOVE_H #include "stdio.h" #include "fix.h" namespace LAMMPS_NS { class FixMove : public Fix { public: FixMove(class LAMMPS *, int, char **); ~FixMove(); int setmask(); void init(); void initial_integrate(int); void final_integrate(); void initial_integrate_respa(int, int, int); void final_integrate_respa(int, int); double memory_usage(); void write_restart(FILE *); void restart(char *); void grow_arrays(int); void copy_arrays(int, int, int); void set_arrays(int); int pack_exchange(int, double *); int unpack_exchange(int, double *); int pack_restart(int, double *); void unpack_restart(int, int); int maxsize_restart(); int size_restart(int); void reset_dt(); private: char *xvarstr,*yvarstr,*zvarstr,*vxvarstr,*vyvarstr,*vzvarstr; int mstyle; int vxflag,vyflag,vzflag,axflag,ayflag,azflag; double vx,vy,vz,ax,ay,az; double period,omega_rotate; double point[3],axis[3],runit[3]; double dt,dtv,dtf; int xvar,yvar,zvar,vxvar,vyvar,vzvar; int xvarstyle,yvarstyle,zvarstyle,vxvarstyle,vyvarstyle,vzvarstyle; int omega_flag,nlevels_respa; int time_origin; double **xoriginal; // original coords of atoms int displaceflag,velocityflag; int maxatom; double **displace,**velocity; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 move cannot set linear z motion for 2d problem Self-explanatory. E: Fix move cannot set wiggle z motion for 2d problem Self-explanatory. E: Fix move cannot rotate aroung non z-axis for 2d problem Self-explanatory. E: Fix move cannot define z or vz variable for 2d problem Self-explanatory. W: Fix move does not update angular momentum Atoms store this quantity, but fix move does not (yet) update it. W: Fix move does not update quaternions Atoms store this quantity, but fix move does not (yet) update it. E: Zero length rotation vector with fix move Self-explanatory. E: Variable name for fix move does not exist Self-explanatory. E: Variable for fix move is invalid style Only equal-style variables can be used. E: Cannot add atoms to fix move variable Atoms can not be added afterwards to this fix option. E: Resetting timestep size is not allowed with fix move This is because fix move is moving atoms based on elapsed time. */ diff --git a/src/fix_nh_sphere.h b/src/fix_nh_sphere.h index 126f04005..a98356055 100644 --- a/src/fix_nh_sphere.h +++ b/src/fix_nh_sphere.h @@ -1,46 +1,46 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_FIX_NH_SPHERE_H #define LMP_FIX_NH_SPHERE_H #include "fix_nh.h" namespace LAMMPS_NS { class FixNHSphere : public FixNH { public: FixNHSphere(class LAMMPS *, int, char **); virtual ~FixNHSphere() {} void init(); protected: void nve_v(); void nh_v_temp(); }; } #endif /* ERROR/WARNING messages: E: Fix nvt/nph/npt sphere requires atom style sphere Self-explanatory. E: Fix nvt/sphere requires extended particles This fix can only be used for particles of a finite size. */ diff --git a/src/fix_nph.h b/src/fix_nph.h index c9ff742dc..45b93c742 100644 --- a/src/fix_nph.h +++ b/src/fix_nph.h @@ -1,48 +1,48 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nph,FixNPH) #else #ifndef LMP_FIX_NPH_H #define LMP_FIX_NPH_H #include "fix_nh.h" namespace LAMMPS_NS { class FixNPH : public FixNH { public: FixNPH(class LAMMPS *, int, char **); ~FixNPH() {} }; } #endif #endif /* ERROR/WARNING messages: E: Temperature control can not be used with fix nph Self-explanatory. E: Pressure control must be used with fix nph Self-explanatory. */ diff --git a/src/fix_nph_sphere.h b/src/fix_nph_sphere.h index dd75f6b3f..50000446f 100644 --- a/src/fix_nph_sphere.h +++ b/src/fix_nph_sphere.h @@ -1,48 +1,48 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nph/sphere,FixNPHSphere) #else #ifndef LMP_FIX_NPH_SPHERE_H #define LMP_FIX_NPH_SPHERE_H #include "fix_nh_sphere.h" namespace LAMMPS_NS { class FixNPHSphere : public FixNHSphere { public: FixNPHSphere(class LAMMPS *, int, char **); ~FixNPHSphere() {} }; } #endif #endif /* ERROR/WARNING messages: E: Temperature control can not be used with fix nph/sphere Self-explanatory. E: Pressure control must be used with fix nph/sphere Self-explanatory. */ diff --git a/src/fix_npt.h b/src/fix_npt.h index 75d6c26f2..ea2db9dd2 100644 --- a/src/fix_npt.h +++ b/src/fix_npt.h @@ -1,48 +1,48 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(npt,FixNPT) #else #ifndef LMP_FIX_NPT_H #define LMP_FIX_NPT_H #include "fix_nh.h" namespace LAMMPS_NS { class FixNPT : public FixNH { public: FixNPT(class LAMMPS *, int, char **); ~FixNPT() {} }; } #endif #endif /* ERROR/WARNING messages: E: Temperature control must be used with fix npt Self-explanatory. E: Pressure control must be used with fix npt Self-explanatory. */ diff --git a/src/fix_npt_sphere.h b/src/fix_npt_sphere.h index 06522716c..7481130af 100644 --- a/src/fix_npt_sphere.h +++ b/src/fix_npt_sphere.h @@ -1,48 +1,48 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(npt/sphere,FixNPTSphere) #else #ifndef LMP_FIX_NPT_SPHERE_H #define LMP_FIX_NPT_SPHERE_H #include "fix_nh_sphere.h" namespace LAMMPS_NS { class FixNPTSphere : public FixNHSphere { public: FixNPTSphere(class LAMMPS *, int, char **); ~FixNPTSphere() {} }; } #endif #endif /* ERROR/WARNING messages: E: Temperature control must be used with fix npt/sphere Self-explanatory. E: Pressure control must be used with fix npt/sphere Self-explanatory. */ diff --git a/src/fix_nve.h b/src/fix_nve.h index 9e8dd06fb..f4f3c4d4b 100644 --- a/src/fix_nve.h +++ b/src/fix_nve.h @@ -1,58 +1,58 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nve,FixNVE) #else #ifndef LMP_FIX_NVE_H #define LMP_FIX_NVE_H #include "fix.h" namespace LAMMPS_NS { class FixNVE : public Fix { public: FixNVE(class LAMMPS *, int, char **); virtual ~FixNVE() {} int setmask(); virtual void init(); virtual void initial_integrate(int); virtual void final_integrate(); virtual void initial_integrate_respa(int, int, int); virtual void final_integrate_respa(int, int); virtual void reset_dt(); protected: double dtv,dtf; double *step_respa; int mass_require; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/fix_nve_limit.h b/src/fix_nve_limit.h index 0269d49b9..0ce22d6db 100644 --- a/src/fix_nve_limit.h +++ b/src/fix_nve_limit.h @@ -1,63 +1,63 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nve/limit,FixNVELimit) #else #ifndef LMP_FIX_NVE_LIMIT_H #define LMP_FIX_NVE_LIMIT_H #include "fix.h" namespace LAMMPS_NS { class FixNVELimit : public Fix { public: FixNVELimit(class LAMMPS *, int, char **); int setmask(); void init(); void initial_integrate(int); void final_integrate(); void initial_integrate_respa(int, int, int); void final_integrate_respa(int, int); void reset_dt(); double compute_scalar(); private: double dtv,dtf; double *step_respa; int ncount; double xlimit,vlimitsq; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Should not use fix nve/limit with fix shake This will lead to invalid constraint forces in the SHAKE computation. */ diff --git a/src/fix_nve_noforce.h b/src/fix_nve_noforce.h index 92452f7b1..1eacb2b1c 100644 --- a/src/fix_nve_noforce.h +++ b/src/fix_nve_noforce.h @@ -1,54 +1,54 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nve/noforce,FixNVENoforce) #else #ifndef LMP_FIX_NVE_NOFORCE_H #define LMP_FIX_NVE_NOFORCE_H #include "fix.h" namespace LAMMPS_NS { class FixNVENoforce : public Fix { public: FixNVENoforce(class LAMMPS *, int, char **); int setmask(); virtual void init(); virtual void initial_integrate(int); void initial_integrate_respa(int, int, int); void reset_dt(); protected: double dtv; double *step_respa; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/fix_nve_sphere.h b/src/fix_nve_sphere.h index 1938b0f85..7aba8c5bd 100644 --- a/src/fix_nve_sphere.h +++ b/src/fix_nve_sphere.h @@ -1,64 +1,64 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nve/sphere,FixNVESphere) #else #ifndef LMP_FIX_NVE_SPHERE_H #define LMP_FIX_NVE_SPHERE_H #include "fix_nve.h" namespace LAMMPS_NS { class FixNVESphere : public FixNVE { public: FixNVESphere(class LAMMPS *, int, char **); virtual ~FixNVESphere() {} void init(); virtual void initial_integrate(int); virtual void final_integrate(); protected: int extra; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 nve/sphere requires atom style sphere Self-explanatory. E: Fix nve/sphere requires atom attribute mu An atom style with this attribute is needed. E: Fix nve/sphere requires extended particles This fix can only be used for particles of a finite size. */ diff --git a/src/fix_nvt.h b/src/fix_nvt.h index 3f2df5f72..4903312f8 100644 --- a/src/fix_nvt.h +++ b/src/fix_nvt.h @@ -1,48 +1,48 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nvt,FixNVT) #else #ifndef LMP_FIX_NVT_H #define LMP_FIX_NVT_H #include "fix_nh.h" namespace LAMMPS_NS { class FixNVT : public FixNH { public: FixNVT(class LAMMPS *, int, char **); ~FixNVT() {} }; } #endif #endif /* ERROR/WARNING messages: E: Temperature control must be used with fix nvt Self-explanatory. E: Pressure control can not be used with fix nvt Self-explanatory. */ diff --git a/src/fix_nvt_sllod.h b/src/fix_nvt_sllod.h index 77911b0b8..40794b67e 100644 --- a/src/fix_nvt_sllod.h +++ b/src/fix_nvt_sllod.h @@ -1,67 +1,67 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator www.cs.sandia.gov/~sjplimp/lammps.html Steve Plimpton, sjplimp@sandia.gov, Sandia National Laboratories Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nvt/sllod,FixNVTSllod) #else #ifndef LMP_FIX_NVT_SLLOD_H #define LMP_FIX_NVT_SLLOD_H #include "fix_nh.h" namespace LAMMPS_NS { class FixNVTSllod : public FixNH { public: FixNVTSllod(class LAMMPS *, int, char **); ~FixNVTSllod() {} void init(); private: int nondeformbias; void nh_v_temp(); }; } #endif #endif /* ERROR/WARNING messages: E: Temperature control must be used with fix nvt/sllod Self-explanatory. E: Pressure control can not be used with fix nvt/sllod Self-explanatory. E: Temperature for fix nvt/sllod does not have a bias The specified compute must compute temperature with a bias. E: Using fix nvt/sllod with inconsistent fix deform remap option Fix nvt/sllod requires that deforming atoms have a velocity profile provided by "remap v" as a fix deform option. E: Using fix nvt/sllod with no fix deform defined Self-explanatory. */ diff --git a/src/fix_nvt_sphere.h b/src/fix_nvt_sphere.h index 15eaeff11..f1fecc92b 100644 --- a/src/fix_nvt_sphere.h +++ b/src/fix_nvt_sphere.h @@ -1,48 +1,48 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(nvt/sphere,FixNVTSphere) #else #ifndef LMP_FIX_NVT_SPHERE_H #define LMP_FIX_NVT_SPHERE_H #include "fix_nh_sphere.h" namespace LAMMPS_NS { class FixNVTSphere : public FixNHSphere { public: FixNVTSphere(class LAMMPS *, int, char **); ~FixNVTSphere() {} }; } #endif #endif /* ERROR/WARNING messages: E: Temperature control must be used with fix nvt/sphere Self-explanatory. E: Pressure control can not be used with fix nvt/sphere Self-explanatory. */ diff --git a/src/fix_planeforce.h b/src/fix_planeforce.h index 021078f07..f507d8465 100644 --- a/src/fix_planeforce.h +++ b/src/fix_planeforce.h @@ -1,54 +1,54 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(planeforce,FixPlaneForce) #else #ifndef LMP_FIX_PLANEFORCE_H #define LMP_FIX_PLANEFORCE_H #include "fix.h" namespace LAMMPS_NS { class FixPlaneForce : public Fix { public: FixPlaneForce(class LAMMPS *, int, char **); int setmask(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); private: double xdir,ydir,zdir; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/fix_press_berendsen.h b/src/fix_press_berendsen.h index e54e5d35b..79516ff6b 100644 --- a/src/fix_press_berendsen.h +++ b/src/fix_press_berendsen.h @@ -1,129 +1,129 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(press/berendsen,FixPressBerendsen) #else #ifndef LMP_FIX_PRESS_BERENDSEN_H #define LMP_FIX_PRESS_BERENDSEN_H #include "fix.h" namespace LAMMPS_NS { class FixPressBerendsen : public Fix { public: FixPressBerendsen(class LAMMPS *, int, char **); ~FixPressBerendsen(); int setmask(); void init(); void setup(int); void end_of_step(); int modify_param(int, char **); protected: int dimension,which; double bulkmodulus; int pstyle,pcouple,allremap; int p_flag[3]; // 1 if control P on this dim, 0 if not double p_start[3],p_stop[3]; double p_period[3],p_target[3]; double p_current[3],dilation[3]; double factor[3]; int kspace_flag; // 1 if KSpace invoked, 0 if not int nrigid; // number of rigid fixes int *rfix; // indices of rigid fixes char *id_temp,*id_press; class Compute *temperature,*pressure; int tflag,pflag; void couple(); void remap(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Invalid fix press/berendsen for a 2d simulation The z component of pressure cannot be controlled for a 2d model. E: Invalid fix press/berendsen pressure settings Settings for coupled dimensions must be the same. E: Cannot use fix press/berendsen on a non-periodic dimension Self-explanatory. E: Fix press/berendsen damping parameters must be > 0.0 Self-explanatory. E: Cannot use fix press/berendsen with triclinic box Self-explanatory. E: Cannot use fix press/berendsen and fix deform on same component of stress tensor These commands both change the box size/shape, so you cannot use both together. E: Temperature ID for fix press/berendsen does not exist Self-explanatory. E: Pressure ID for fix press/berendsen does not exist The compute ID needed to compute pressure for the fix does not exist. E: Could not find fix_modify temperature ID The compute ID for computing temperature does not exist. E: Fix_modify temperature ID does not compute temperature The compute ID assigned to the fix must compute temperature. W: Temperature for NPT is not for group all User-assigned temperature to NPT fix does not compute temperature for all atoms. Since NPT computes a global pressure, the kinetic energy contribution from the temperature is assumed to also be for all atoms. Thus the pressure used by NPT could be inaccurate. E: Could not find fix_modify pressure ID The compute ID for computing pressure does not exist. E: Fix_modify pressure ID does not compute pressure The compute ID assigned to the fix must compute pressure. */ diff --git a/src/fix_print.h b/src/fix_print.h index 8cba1093c..b6eb05dc4 100644 --- a/src/fix_print.h +++ b/src/fix_print.h @@ -1,59 +1,59 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(print,FixPrint) #else #ifndef LMP_FIX_PRINT_H #define LMP_FIX_PRINT_H #include "stdio.h" #include "fix.h" namespace LAMMPS_NS { class FixPrint : public Fix { public: FixPrint(class LAMMPS *, int, char **); ~FixPrint(); int setmask(); void end_of_step(); private: int me,screenflag; FILE *fp; char *string,*copy,*work; int maxcopy,maxwork; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot open fix print file %s The output file generated by the fix print command cannot be opened */ diff --git a/src/fix_property_atom.h b/src/fix_property_atom.h index 0a7fdcb57..0535d8f96 100644 --- a/src/fix_property_atom.h +++ b/src/fix_property_atom.h @@ -1,109 +1,109 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(property/atom,FixPropertyAtom) #else #ifndef LMP_FIX_PROPERTY_ATOM_H #define LMP_FIX_PROPERTY_ATOM_H #include "fix.h" namespace LAMMPS_NS { class FixPropertyAtom : public Fix { public: FixPropertyAtom(class LAMMPS *, int, char **); ~FixPropertyAtom(); int setmask(); void init(); void read_data_section(char *, int, char *); bigint read_data_skip_lines(char *); void write_data_section_size(int, int &, int &); void write_data_section_pack(int, double **); void write_data_section_keyword(int, FILE *); void write_data_section(int, FILE *, int, double **, int); void grow_arrays(int); void copy_arrays(int, int, int); int pack_border(int, int *, double *); int unpack_border(int, int, double *); int pack_exchange(int, double *); int unpack_exchange(int, double *); int pack_restart(int, double *); void unpack_restart(int, int); int size_restart(int); int maxsize_restart(); double memory_usage(); private: int nvalue,border; int molecule_flag,q_flag; int *style,*index; char *astyle; int nmax_old; // length of peratom arrays the last time they grew }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 property/atom mol when atom_style already has molecule attribute Self-explanatory. E: Fix property/atom cannot specify mol twice Self-explanatory. E: Fix property/atom q when atom_style already has charge attribute Self-explanatory. E: Fix property/atom cannot specify q twice Self-explanatory. E: Fix property/atom vector name already exists The name for an integer or floating-point vector must be unique. E: Atom style was redefined after using fix property/atom This is not allowed. E: Incorrect %s format in data file A section of the data file being read by fix property/atom does not have the correct number of values per line. E: Invalid atom ID in %s section of data file An atom in a section of the data file being read by fix property/atom has an invalid atom ID that is <= 0 or > the maximum existing atom ID. */ diff --git a/src/fix_read_restart.h b/src/fix_read_restart.h index 5160ef8b5..963cde977 100644 --- a/src/fix_read_restart.h +++ b/src/fix_read_restart.h @@ -1,52 +1,52 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(READ_RESTART,FixReadRestart) #else #ifndef LMP_FIX_READ_RESTART_H #define LMP_FIX_READ_RESTART_H #include "fix.h" namespace LAMMPS_NS { class FixReadRestart : public Fix { public: int *count; double **extra; FixReadRestart(class LAMMPS *, int, char **); ~FixReadRestart(); int setmask(); double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); int pack_exchange(int, double *); int unpack_exchange(int, double *); private: int nextra; // max number of extra values for any atom }; } #endif #endif /* ERROR/WARNING messages: */ diff --git a/src/fix_respa.h b/src/fix_respa.h index 066a3bd48..f01d9339a 100644 --- a/src/fix_respa.h +++ b/src/fix_respa.h @@ -1,55 +1,55 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(RESPA,FixRespa) #else #ifndef LMP_FIX_RESPA_H #define LMP_FIX_RESPA_H #include "fix.h" namespace LAMMPS_NS { class FixRespa : public Fix { friend class Respa; friend class FixShake; friend class FixShake2; public: FixRespa(class LAMMPS *, int, char **); ~FixRespa(); int setmask(); void init() {} double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); int pack_exchange(int, double *); int unpack_exchange(int, double *); private: int nlevels; double ***f_level; // force at each rRESPA level }; } #endif #endif /* ERROR/WARNING messages: */ diff --git a/src/fix_restrain.h b/src/fix_restrain.h index e7bb5118c..0a5669a7e 100644 --- a/src/fix_restrain.h +++ b/src/fix_restrain.h @@ -1,94 +1,94 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(restrain,FixRestrain) #else #ifndef LMP_FIX_RESTRAIN_H #define LMP_FIX_RESTRAIN_H #include "fix.h" namespace LAMMPS_NS { class FixRestrain : public Fix { public: FixRestrain(class LAMMPS *, int, char **); ~FixRestrain(); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); double compute_scalar(); private: int nlevels_respa; int nrestrain,maxrestrain; int *rstyle; int **ids; double *kstart,*kstop,*target; double *cos_target,*sin_target; double energy,energy_all; void restrain_bond(int); void restrain_angle(int); void restrain_dihedral(int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 restrain requires an atom map, see atom_modify Self-explanatory. E: Restrain atoms %d %d missing on proc %d at step %ld The 2 atoms in a restrain bond specified by the fix restrain command are not all accessible to a processor. This probably means an atom has moved too far. E: Restrain atoms %d %d %d missing on proc %d at step %ld The 3 atoms in a restrain angle specified by the fix restrain command are not all accessible to a processor. This probably means an atom has moved too far. E: Restrain atoms %d %d %d %d missing on proc %d at step %ld The 4 atoms in a restrain dihedral specified by the fix restrain command are not all accessible to a processor. This probably means an atom has moved too far. W: Restrain problem: %d %ld %d %d %d %d Conformation of the 4 listed dihedral atoms is extreme; you may want to check your simulation geometry. */ diff --git a/src/fix_shear_history.h b/src/fix_shear_history.h index 3e525a232..347049872 100644 --- a/src/fix_shear_history.h +++ b/src/fix_shear_history.h @@ -1,87 +1,87 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(SHEAR_HISTORY,FixShearHistory) #else #ifndef LMP_FIX_SHEAR_HISTORY_H #define LMP_FIX_SHEAR_HISTORY_H #include "fix.h" #include "my_page.h" namespace LAMMPS_NS { class FixShearHistory : public Fix { friend class Neighbor; friend class PairGranHookeHistory; public: FixShearHistory(class LAMMPS *, int, char **); ~FixShearHistory(); int setmask(); void init(); void setup_pre_exchange(); virtual void pre_exchange(); void min_setup_pre_exchange(); void min_pre_exchange(); double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); void set_arrays(int); int pack_exchange(int, double *); int unpack_exchange(int, double *); int pack_restart(int, double *); void unpack_restart(int, int); int size_restart(int); int maxsize_restart(); protected: int *npartner; // # of touching partners of each atom tagint **partner; // global atom IDs for the partners double (**shearpartner)[3]; // 3 shear values with the partner int maxtouch; // max # of touching partners for my atoms class Pair *pair; int *computeflag; // computeflag in PairGranHookeHistory int pgsize,oneatom; // copy of settings in Neighbor MyPage *ipage; // pages of partner atom IDs MyPage *dpage; // pages of shear history with partners void allocate_pages(); }; } #endif #endif /* ERROR/WARNING messages: E: Pair style granular with history requires atoms have IDs Atoms in the simulation do not have IDs, so history effects cannot be tracked by the granular pair potential. E: Shear history overflow, boost neigh_modify one There are too many neighbors of a single atom. Use the neigh_modify command to increase the max number of neighbors allowed for one atom. You may also want to boost the page size. */ diff --git a/src/fix_spring.h b/src/fix_spring.h index c6e806cbf..f784ad9d3 100644 --- a/src/fix_spring.h +++ b/src/fix_spring.h @@ -1,81 +1,81 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(spring,FixSpring) #else #ifndef LMP_FIX_SPRING_H #define LMP_FIX_SPRING_H #include "fix.h" namespace LAMMPS_NS { class FixSpring : public Fix { public: FixSpring(class LAMMPS *, int, char **); ~FixSpring(); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); double compute_scalar(); double compute_vector(int); private: double xc,yc,zc,r0; double k_spring; int xflag,yflag,zflag; int styleflag; char *group2; int igroup2,group2bit; double masstotal,masstotal2; int nlevels_respa; double espring,ftotal[4]; void spring_tether(); void spring_couple(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: R0 < 0 for fix spring command Equilibrium spring length is invalid. E: Fix spring couple group ID does not exist Self-explanatory. E: Two groups cannot be the same in fix spring couple Self-explanatory. */ diff --git a/src/fix_spring_rg.h b/src/fix_spring_rg.h index 9ffe9d958..c3a012984 100644 --- a/src/fix_spring_rg.h +++ b/src/fix_spring_rg.h @@ -1,54 +1,54 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(spring/rg,FixSpringRG) #else #ifndef LMP_FIX_SPRING_RG_H #define LMP_FIX_SPRING_RG_H #include "fix.h" namespace LAMMPS_NS { class FixSpringRG : public Fix { public: FixSpringRG(class LAMMPS *, int, char **); int setmask(); void init(); void setup(int); void post_force(int); void post_force_respa(int, int, int); private: int nlevels_respa,rg0_flag; double rg0,k,masstotal; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/fix_store.h b/src/fix_store.h index bdb517608..dab989990 100644 --- a/src/fix_store.h +++ b/src/fix_store.h @@ -1,64 +1,64 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(STORE,FixStore) #else #ifndef LMP_FIX_STORE_H #define LMP_FIX_STORE_H #include "fix.h" namespace LAMMPS_NS { class FixStore : public Fix { public: double *vstore; // vector storage if nvalues = 1 double **astore; // array storage if nvalues > 1 FixStore(class LAMMPS *, int, char **); ~FixStore(); int setmask(); double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); int pack_exchange(int, double *); int unpack_exchange(int, double *); int pack_restart(int, double *); void unpack_restart(int, int); int size_restart(int); int maxsize_restart(); private: int nvalues; // total # of values per atom int vecflag; // 1 if nvalues = 1 }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/fix_store_force.h b/src/fix_store_force.h index f68ba8d17..bcbb75a7c 100644 --- a/src/fix_store_force.h +++ b/src/fix_store_force.h @@ -1,59 +1,59 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(store/force,FixStoreForce) #else #ifndef LMP_FIX_STORE_FORCE_H #define LMP_FIX_STORE_FORCE_H #include "fix.h" namespace LAMMPS_NS { class FixStoreForce : public Fix { public: FixStoreForce(class LAMMPS *, int, char **); ~FixStoreForce(); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); double memory_usage(); private: int nlevels_respa; int nmax; double **foriginal; // stored force on atoms }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/fix_store_state.h b/src/fix_store_state.h index ae8483f81..fdc6ddc1d 100644 --- a/src/fix_store_state.h +++ b/src/fix_store_state.h @@ -1,180 +1,180 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(store/state,FixStoreState) #else #ifndef LMP_FIX_STORE_STATE_H #define LMP_FIX_STORE_STATE_H #include "fix.h" namespace LAMMPS_NS { class FixStoreState : public Fix { public: FixStoreState(class LAMMPS *, int, char **); ~FixStoreState(); int setmask(); void init(); void setup(int); void end_of_step(); double memory_usage(); void grow_arrays(int); void copy_arrays(int, int, int); int pack_exchange(int, double *); int unpack_exchange(int, double *); int pack_restart(int, double *); void unpack_restart(int, int); int size_restart(int); int maxsize_restart(); private: int nvalues; int *which,*argindex,*value2index; char **ids; double **values; // archived atom properties double *vbuf; // 1d ptr to values int comflag; double cm[3]; // center of mass int kflag,cfv_flag,firstflag; int cfv_any; // 1 if any compute/fix/variable specified typedef void (FixStoreState::*FnPtrPack)(int); FnPtrPack *pack_choice; // ptrs to pack functions void pack_id(int); void pack_molecule(int); void pack_type(int); void pack_mass(int); void pack_x(int); void pack_y(int); void pack_z(int); void pack_xs(int); void pack_ys(int); void pack_zs(int); void pack_xs_triclinic(int); void pack_ys_triclinic(int); void pack_zs_triclinic(int); void pack_xu(int); void pack_yu(int); void pack_zu(int); void pack_xu_triclinic(int); void pack_yu_triclinic(int); void pack_zu_triclinic(int); void pack_ix(int); void pack_iy(int); void pack_iz(int); void pack_vx(int); void pack_vy(int); void pack_vz(int); void pack_fx(int); void pack_fy(int); void pack_fz(int); void pack_q(int); void pack_mux(int); void pack_muy(int); void pack_muz(int); void pack_radius(int); void pack_omegax(int); void pack_omegay(int); void pack_omegaz(int); void pack_angmomx(int); void pack_angmomy(int); void pack_angmomz(int); void pack_tqx(int); void pack_tqy(int); void pack_tqz(int); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 store/state for atom property that isn't allocated Self-explanatory. E: Compute ID for fix store/state does not exist Self-explanatory. E: Fix store/state compute does not calculate per-atom values Computes that calculate global or local quantities cannot be used with fix store/state. E: Fix store/state compute does not calculate a per-atom vector The compute calculates a per-atom vector. E: Fix store/state compute does not calculate a per-atom array The compute calculates a per-atom vector. E: Fix store/state compute array is accessed out-of-range Self-explanatory. E: Fix ID for fix store/state does not exist Self-explanatory E: Fix store/state fix does not calculate per-atom values Fixes that calculate global or local quantities cannot be used with fix store/state. E: Fix store/state fix does not calculate a per-atom vector The fix calculates a per-atom array. E: Fix store/state fix does not calculate a per-atom array The fix calculates a per-atom vector. E: Fix store/state fix array is accessed out-of-range Self-explanatory. E: Fix for fix store/state not computed at compatible time Fixes generate their values on specific timesteps. Fix store/state is requesting a value on a non-allowed timestep. E: Variable name for fix store/state does not exist Self-explanatory. E: Fix store/state variable is not atom-style variable Only atom-style variables calculate per-atom quantities. */ diff --git a/src/fix_vector.h b/src/fix_vector.h index 819668afb..fc8e03d43 100644 --- a/src/fix_vector.h +++ b/src/fix_vector.h @@ -1,55 +1,55 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(vector,FixVector) #else #ifndef LMP_FIX_VECTOR_H #define LMP_FIX_VECTOR_H #include "fix.h" namespace LAMMPS_NS { class FixVector : public Fix { public: FixVector(class LAMMPS *, int, char **); ~FixVector(); int setmask(); void init(); void setup(int); void end_of_step(); double compute_vector(int); double compute_array(int,int); private: int nvalues; int *which,*argindex,*value2index; char **ids; int ncount; // # of values currently in growing vector or array double *vector; double **array; }; } #endif #endif /* ERROR/WARNING messages: */ diff --git a/src/fix_viscous.h b/src/fix_viscous.h index 437b93f2c..8045e29fa 100644 --- a/src/fix_viscous.h +++ b/src/fix_viscous.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(viscous,FixViscous) #else #ifndef LMP_FIX_VISCOUS_H #define LMP_FIX_VISCOUS_H #include "fix.h" namespace LAMMPS_NS { class FixViscous : public Fix { public: FixViscous(class LAMMPS *, int, char **); virtual ~FixViscous(); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); protected: double *gamma; int nlevels_respa; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/fix_wall.h b/src/fix_wall.h index 07bd0a5e2..65163dbe0 100644 --- a/src/fix_wall.h +++ b/src/fix_wall.h @@ -1,101 +1,101 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_FIX_WALL_H #define LMP_FIX_WALL_H #include "fix.h" namespace LAMMPS_NS { class FixWall : public Fix { public: int nwall; int wallwhich[6]; double coord0[6]; int xflag; // 1 if any wall position is a variable int xstyle[6]; int xindex[6]; char *xstr[6]; FixWall(class LAMMPS *, int, char **); virtual ~FixWall(); int setmask(); virtual void init(); void setup(int); void min_setup(int); void pre_force(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); double compute_scalar(); double compute_vector(int); virtual void precompute(int) = 0; virtual void wall_particle(int, int, double) = 0; protected: double epsilon[6],sigma[6],cutoff[6]; double ewall[7],ewall_all[7]; double xscale,yscale,zscale; int estyle[6],sstyle[6],wstyle[6]; int eindex[6],sindex[6]; char *estr[6],*sstr[6]; int varflag; // 1 if any wall position,epsilon,sigma is a var int eflag; // per-wall flag for energy summation int nlevels_respa; double dt; int fldflag; }; } #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Wall defined twice in fix wall command Self-explanatory. E: Fix wall cutoff <= 0.0 Self-explanatory. E: Cannot use fix wall zlo/zhi for a 2d simulation Self-explanatory. E: Cannot use fix wall in periodic dimension Self-explanatory. E: Variable name for fix wall does not exist Self-explanatory. E: Variable for fix wall is invalid style Only equal-style variables can be used. E: Variable evaluation in fix wall gave bad value The returned value for epsilon or sigma < 0.0. */ diff --git a/src/fix_wall_lj1043.h b/src/fix_wall_lj1043.h index 30cf9f239..8b9ad178f 100644 --- a/src/fix_wall_lj1043.h +++ b/src/fix_wall_lj1043.h @@ -1,42 +1,42 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(wall/lj1043,FixWallLJ1043) #else #ifndef LMP_FIX_WALL_LJ1043_H #define LMP_FIX_WALL_LJ1043_H #include "fix_wall.h" namespace LAMMPS_NS { class FixWallLJ1043 : public FixWall { public: FixWallLJ1043(class LAMMPS *, int, char **); void precompute(int); void wall_particle(int, int, double); private: double coeff1[6],coeff2[6],coeff3[6],coeff4[6],coeff5[6],coeff6[6], coeff7[6],offset[6]; }; } #endif #endif diff --git a/src/fix_wall_lj126.h b/src/fix_wall_lj126.h index 845534570..a91ebf6f2 100644 --- a/src/fix_wall_lj126.h +++ b/src/fix_wall_lj126.h @@ -1,49 +1,49 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(wall/lj126,FixWallLJ126) #else #ifndef LMP_FIX_WALL_LJ126_H #define LMP_FIX_WALL_LJ126_H #include "fix_wall.h" namespace LAMMPS_NS { class FixWallLJ126 : public FixWall { public: FixWallLJ126(class LAMMPS *, int, char **); void precompute(int); void wall_particle(int, int, double); private: double coeff1[6],coeff2[6],coeff3[6],coeff4[6],offset[6]; }; } #endif #endif /* ERROR/WARNING messages: E: Particle on or inside fix wall surface Particles must be "exterior" to the wall in order for energy/force to be calculated. */ diff --git a/src/fix_wall_lj93.h b/src/fix_wall_lj93.h index a2ab52ba6..40337a517 100644 --- a/src/fix_wall_lj93.h +++ b/src/fix_wall_lj93.h @@ -1,49 +1,49 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(wall/lj93,FixWallLJ93) #else #ifndef LMP_FIX_WALL_LJ93_H #define LMP_FIX_WALL_LJ93_H #include "fix_wall.h" namespace LAMMPS_NS { class FixWallLJ93 : public FixWall { public: FixWallLJ93(class LAMMPS *, int, char **); void precompute(int); void wall_particle(int, int, double); private: double coeff1[6],coeff2[6],coeff3[6],coeff4[6],offset[6]; }; } #endif #endif /* ERROR/WARNING messages: E: Particle on or inside fix wall surface Particles must be "exterior" to the wall in order for energy/force to be calculated. */ diff --git a/src/fix_wall_reflect.h b/src/fix_wall_reflect.h index 971c30e69..882126ef1 100644 --- a/src/fix_wall_reflect.h +++ b/src/fix_wall_reflect.h @@ -1,82 +1,82 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(wall/reflect,FixWallReflect) #else #ifndef LMP_FIX_WALL_REFLECT_H #define LMP_FIX_WALL_REFLECT_H #include "fix.h" namespace LAMMPS_NS { class FixWallReflect : public Fix { public: FixWallReflect(class LAMMPS *, int, char **); virtual ~FixWallReflect(); int setmask(); void init(); void post_integrate(); protected: int nwall; int wallwhich[6],wallstyle[6]; double coord0[6]; char *varstr[6]; int varindex[6]; int varflag; double xscale,yscale,zscale; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Wall defined twice in fix wall/reflect command Self-explanatory. E: Cannot use fix wall/reflect in periodic dimension Self-explanatory. E: Cannot use fix wall/reflect zlo/zhi for a 2d simulation Self-explanatory. E: Variable name for fix wall/reflect does not exist Self-explanatory. E: Variable for fix wall/reflect is invalid style Only equal-style variables can be used. W: Should not allow rigid bodies to bounce off relecting walls LAMMPS allows this, but their dynamics are not computed correctly. */ diff --git a/src/fix_wall_region.h b/src/fix_wall_region.h index 23bec22d2..f133140f2 100644 --- a/src/fix_wall_region.h +++ b/src/fix_wall_region.h @@ -1,92 +1,92 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef FIX_CLASS FixStyle(wall/region,FixWallRegion) #else #ifndef LMP_FIX_WALL_REGION_H #define LMP_FIX_WALL_REGION_H #include "fix.h" namespace LAMMPS_NS { class FixWallRegion : public Fix { public: FixWallRegion(class LAMMPS *, int, char **); ~FixWallRegion(); int setmask(); void init(); void setup(int); void min_setup(int); void post_force(int); void post_force_respa(int, int, int); void min_post_force(int); double compute_scalar(); double compute_vector(int); private: int style,iregion; double epsilon,sigma,cutoff; int eflag; double ewall[4],ewall_all[4]; int nlevels_respa; char *idregion; double coeff1,coeff2,coeff3,coeff4,offset; double eng,fwall; void lj93(double); void lj126(double); void colloid(double, double); void harmonic(double); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Region ID for fix wall/region does not exist Self-explanatory. E: Fix wall/region cutoff <= 0.0 Self-explanatory. E: Fix wall/region colloid requires atom style sphere Self-explanatory. E: Fix wall/region colloid requires extended particles One of the particles has radius 0.0. E: Particle on or inside surface of region used in fix wall/region Particles must be "exterior" to the region surface in order for energy/force to be calculated. */ diff --git a/src/group.h b/src/group.h index e94e73288..7b941665e 100644 --- a/src/group.h +++ b/src/group.h @@ -1,142 +1,142 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_GROUP_H #define LMP_GROUP_H #include "stdio.h" #include "pointers.h" #include namespace LAMMPS_NS { class Group : protected Pointers { public: int ngroup; // # of defined groups char **names; // name of each group int *bitmask; // one-bit mask for each group int *inversemask; // inverse mask for each group int *dynamic; // 1 if dynamic, 0 if not Group(class LAMMPS *); ~Group(); void assign(int, char **); // assign atoms to a group void create(char *, int *); // add flagged atoms to a group int find(const char *); // lookup name in list of groups void write_restart(FILE *); void read_restart(FILE *); bigint count(int); // count atoms in group bigint count(int,int); // count atoms in group & region double mass(int); // total mass of atoms in group double mass(int,int); double charge(int); // total charge of atoms in group double charge(int,int); void bounds(int, double *); // bounds of atoms in group void bounds(int, double *, int); void xcm(int, double, double *); // center-of-mass coords of group void xcm(int, double, double *, int); void vcm(int, double, double *); // center-of-mass velocity of group void vcm(int, double, double *, int); void fcm(int, double *); // total force on group void fcm(int, double *, int); double ke(int); // kinetic energy of group double ke(int, int); double gyration(int, double, double *); // radius-of-gyration of group double gyration(int, double, double *, int); void angmom(int, double *, double *); // angular momentum of group void angmom(int, double *, double *, int); void torque(int, double *, double *); // torque on group void torque(int, double *, double *, int); void inertia(int, double *, double [3][3]); // inertia tensor void inertia(int, double *, double [3][3], int); void omega(double *, double [3][3], double *); // angular velocity private: int me; std::map *hash; int find_unused(); void add_molecules(int, int); // static variable for ring communication callback to access class data // callback functions for ring communication static Group *cptr; static void molring(int, char *); int molbit; }; } #endif /* ERROR/WARNING messages: E: Group command before simulation box is defined The group command cannot be used before a read_data, read_restart, or create_box command. E: Illegal ... command 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: Could not find group delete group ID Self-explanatory. E: Cannot delete group all Self-explanatory. E: Cannot delete group currently used by a fix Self-explanatory. E: Cannot delete group currently used by a compute Self-explanatory. E: Cannot delete group currently used by a dump Self-explanatory. E: Cannot delete group currently used by atom_modify first Self-explanatory. E: Too many groups The maximum number of atom groups (including the "all" group) is given by MAX_GROUP in group.cpp and is 32. E: Group region ID does not exist A region ID used in the group command does not exist. E: Variable name for group does not exist Self-explanatory. E: Variable for group is invalid style Only atom-style variables can be used. E: Group ID does not exist A group ID used in the group command does not exist. */ diff --git a/src/image.h b/src/image.h index 1d7854f30..6895750ea 100644 --- a/src/image.h +++ b/src/image.h @@ -1,180 +1,180 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_IMAGE_H #define LMP_IMAGE_H #include "math.h" #include "stdio.h" #include "pointers.h" namespace LAMMPS_NS { class Image : protected Pointers { public: int width,height; // size of image double theta,phi; // view image from theta,phi double xctr,yctr,zctr; // center of image in user coords double up[3]; // up direction in image double zoom; // zoom factor double persp; // perspective factor double shiny; // shininess of objects int ssao; // SSAO on or off int seed; // RN seed for SSAO double ssaoint; // strength of shading from 0 to 1 double *boxcolor; // color to draw box outline with int background[3]; // RGB values of background Image(class LAMMPS *, int); ~Image(); void buffers(); void clear(); void merge(); void write_JPG(FILE *); void write_PNG(FILE *); void write_PPM(FILE *); void view_params(double, double, double, double, double, double); void draw_sphere(double *, double *, double); void draw_cube(double *, double *, double); void draw_cylinder(double *, double *, double *, double, int); void draw_triangle(double *, double *, double *, double *); void draw_box(double (*)[3], double); void draw_axes(double (*)[3], double); int map_dynamic(int); int map_reset(int, int, char **); int map_minmax(int, double, double); double *map_value2color(int, double); int addcolor(char *, double, double, double); double *element2color(char *); double element2diam(char *); double *color2rgb(const char *, int index=0); int default_colors(); private: int me,nprocs; int npixels; class ColorMap **maps; int nmap; double *depthBuffer,*surfaceBuffer; double *depthcopy,*surfacecopy; unsigned char *imageBuffer,*rgbcopy,*writeBuffer; // constant view params double FOV; double ambientColor[3]; double keyLightTheta; double keyLightPhi; double keyLightColor[3]; double fillLightTheta; double fillLightPhi; double fillLightColor[3]; double backLightTheta; double backLightPhi; double backLightColor[3]; double specularHardness; double specularIntensity; double SSAORadius; int SSAOSamples; double SSAOJitter; // dynamic view params double zdist; double tanPerPixel; double camDir[3],camUp[3],camRight[4],camPos[3]; double keyLightDir[3],fillLightDir[3],backLightDir[3]; double keyHalfDir[3]; // color values int ncolors; char **username; double **userrgb; // SSAO RNG class RanMars *random; // internal methods void draw_pixel(int, int, double, double *, double*); void compute_SSAO(); // inline functions inline double saturate(double v) { if (v < 0.0) return 0.0; else if (v > 1.0) return 1.0; else return v; } inline double distance(double* a, double* b) { return sqrt((a[0] - b[0]) * (a[0] - b[0]) + (a[1] - b[1]) * (a[1] - b[1]) + (a[2] - b[2]) * (a[2] - b[2])); } }; // ColorMap class class ColorMap : protected Pointers { public: int dynamic; // 0/1 if lo/hi bounds are static/dynamic ColorMap(class LAMMPS *, class Image*); ~ColorMap(); int reset(int, char **); int minmax(double, double); double *value2color(double); private: class Image *image; // caller with color2rgb() method int mstyle,mrange; // 2-letter style/range of color map int mlo,mhi; // bounds = NUMERIC or MINVALUE or MAXVALUE double mlovalue,mhivalue; // user bounds if NUMERIC double locurrent,hicurrent; // current bounds for this snapshot double mbinsize,mbinsizeinv; // bin size for sequential color map double interpolate[3]; // local storage for returned RGB color struct MapEntry { int single,lo,hi; // NUMERIC or MINVALUE or MAXVALUE double svalue,lvalue,hvalue; // actual value double *color; // RGB values }; MapEntry *mentry; int nentry; }; } #endif /* ERROR/WARNING messages: E: Invalid image up vector Up vector cannot be (0,0,0). */ diff --git a/src/improper_hybrid.h b/src/improper_hybrid.h index aff04e09f..4429ce9c6 100644 --- a/src/improper_hybrid.h +++ b/src/improper_hybrid.h @@ -1,84 +1,84 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef IMPROPER_CLASS ImproperStyle(hybrid,ImproperHybrid) #else #ifndef LMP_IMPROPER_HYBRID_H #define LMP_IMPROPER_HYBRID_H #include "stdio.h" #include "improper.h" namespace LAMMPS_NS { class ImproperHybrid : public Improper { public: int nstyles; // # of different improper styles Improper **styles; // class list for each Improper style char **keywords; // keyword for each improper style ImproperHybrid(class LAMMPS *); ~ImproperHybrid(); void compute(int, int); void settings(int, char **); void coeff(int, char **); void write_restart(FILE *); void read_restart(FILE *); double memory_usage(); private: int *map; // which style each improper type points to int *nimproperlist; // # of impropers in sub-style improperlists int *maximproper; // max # of impropers sub-style lists can store int ***improperlist; // improperlist for each sub-style void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. E: Improper style hybrid cannot have hybrid as an argument Self-explanatory. E: Improper style hybrid cannot have none as an argument Self-explanatory. E: Improper coeff for hybrid has invalid style Improper style hybrid uses another improper style as one of its coefficients. The improper style used in the improper_coeff command or read from a restart file is not recognized. */ diff --git a/src/input.h b/src/input.h index 4fc809b84..a6df1a4a8 100644 --- a/src/input.h +++ b/src/input.h @@ -1,350 +1,350 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_INPUT_H #define LMP_INPUT_H #include "stdio.h" #include "pointers.h" #include #include namespace LAMMPS_NS { class Input : protected Pointers { public: int narg; // # of command args char **arg; // parsed args for command class Variable *variable; // defined variables Input(class LAMMPS *, int, char **); ~Input(); void file(); // process all input void file(const char *); // process an input script char *one(const char *); // process a single command void substitute(char *&, char *&, int &, int &, int); // substitute for variables in a string private: int me; // proc ID char *command; // ptr to current command int maxarg; // max # of args in arg char *line,*copy,*work; // input line & copy and work string int maxline,maxcopy,maxwork; // max lengths of char strings int echo_screen; // 0 = no, 1 = yes int echo_log; // 0 = no, 1 = yes int nfile,maxfile; // current # and max # of open input files int label_active; // 0 = no label, 1 = looking for label char *labelstr; // label string being looked for int jump_skip; // 1 if skipping next jump, 0 otherwise int ifthenelse_flag; // 1 if executing commands inside an if-then-else FILE **infiles; // list of open input files typedef void (*CommandCreator)(LAMMPS *, int, char **); std::map *command_map; template static void command_creator(LAMMPS *, int, char **); void parse(); // parse an input text line char *nextword(char *, char **); // find next word in string with quotes void reallocate(char *&, int &, int); // reallocate a char string int execute_command(); // execute a single command void clear(); // input script commands void echo(); void ifthenelse(); void include(); void jump(); void label(); void log(); void next_command(); void partition(); void print(); void quit(); void shell(); void variable_command(); void angle_coeff(); // LAMMPS commands void angle_style(); void atom_modify(); void atom_style(); void bond_coeff(); void bond_style(); void boundary(); void box(); void comm_modify(); void comm_style(); void compute(); void compute_modify(); void dielectric(); void dihedral_coeff(); void dihedral_style(); void dimension(); void dump(); void dump_modify(); void fix(); void fix_modify(); void group_command(); void improper_coeff(); void improper_style(); void kspace_modify(); void kspace_style(); void lattice(); void mass(); void min_modify(); void min_style(); void molecule(); void neigh_modify(); void neighbor_command(); void newton(); void package(); void pair_coeff(); void pair_modify(); void pair_style(); void pair_write(); void processors(); void region(); void reset_timestep(); void restart(); void run_style(); void special_bonds(); void suffix(); void thermo(); void thermo_modify(); void thermo_style(); void timestep(); void uncompute(); void undump(); void unfix(); void units(); }; } #endif /* ERROR/WARNING messages: E: Label wasn't found in input script Self-explanatory. E: Unknown command: %s The command is not known to LAMMPS. Check the input script. E: Invalid use of library file() function This function is called thru the library interface. This error should not occur. Contact the developers if it does. E: Cannot open input script %s Self-explanatory. E: Unbalanced quotes in input line No matching end double quote was found following a leading double quote. E: Input line quote not followed by whitespace An end quote must be followed by whitespace. E: Invalid variable name Variable name used in an input script line is invalid. E: Invalid immediate variable Syntax of immediate value is incorrect. E: Substitution for illegal variable Input script line contained a variable that could not be substituted for. E: Illegal ... command 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: Cannot use include command within an if command Self-explanatory. E: Cannot open logfile %s The LAMMPS log file specified in the input script cannot be opened. Check that the path and name are correct. E: Cannot open print file %s Self-explanatory. E: Angle_coeff command before simulation box is defined The angle_coeff command cannot be used before a read_data, read_restart, or create_box command. E: Angle_coeff command before angle_style is defined Coefficients cannot be set in the data file or via the angle_coeff command until an angle_style has been assigned. E: Angle_coeff command when no angles allowed The chosen atom style does not allow for angles to be defined. E: Angle_style command when no angles allowed The chosen atom style does not allow for angles to be defined. E: Atom_style command after simulation box is defined The atom_style command cannot be used after a read_data, read_restart, or create_box command. E: Bond_coeff command before simulation box is defined The bond_coeff command cannot be used before a read_data, read_restart, or create_box command. E: Bond_coeff command before bond_style is defined Coefficients cannot be set in the data file or via the bond_coeff command until an bond_style has been assigned. E: Bond_coeff command when no bonds allowed The chosen atom style does not allow for bonds to be defined. E: Bond_style command when no bonds allowed The chosen atom style does not allow for bonds to be defined. E: Boundary command after simulation box is defined The boundary command cannot be used after a read_data, read_restart, or create_box command. E: Box command after simulation box is defined 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 The dihedral_coeff command cannot be used before a read_data, read_restart, or create_box command. E: Dihedral_coeff command before dihedral_style is defined Coefficients cannot be set in the data file or via the dihedral_coeff command until an dihedral_style has been assigned. E: Dihedral_coeff command when no dihedrals allowed The chosen atom style does not allow for dihedrals to be defined. E: Dihedral_style command when no dihedrals allowed The chosen atom style does not allow for dihedrals to be defined. E: Dimension command after simulation box is defined The dimension command cannot be used after a read_data, read_restart, or create_box command. E: Improper_coeff command before simulation box is defined The improper_coeff command cannot be used before a read_data, read_restart, or create_box command. E: Improper_coeff command before improper_style is defined Coefficients cannot be set in the data file or via the improper_coeff command until an improper_style has been assigned. E: Improper_coeff command when no impropers allowed The chosen atom style does not allow for impropers to be defined. E: Improper_style command when no impropers allowed The chosen atom style does not allow for impropers to be defined. E: KSpace style has not yet been set Cannot use kspace_modify command until a kspace style is set. E: Mass command before simulation box is defined The mass command cannot be used before a read_data, read_restart, or create_box command. E: Min_style command before simulation box is defined The min_style command cannot be used before a read_data, read_restart, or create_box command. E: Newton bond change after simulation box is defined The newton command cannot be used to change the newton bond value after a read_data, read_restart, or create_box command. E: Package command after simulation box is defined The package command cannot be used afer a read_data, read_restart, or create_box command. E: Package cuda command without USER-CUDA installed The USER-CUDA package must be installed via "make yes-user-cuda" before LAMMPS is built. E: Pair_coeff command before simulation box is defined The pair_coeff command cannot be used before a read_data, read_restart, or create_box command. E: Pair_coeff command before pair_style is defined Self-explanatory. E: Pair_modify command before pair_style is defined Self-explanatory. E: Pair_write command before pair_style is defined Self-explanatory. E: Processors command after simulation box is defined The processors command cannot be used after a read_data, read_restart, or create_box command. E: Run_style command before simulation box is defined The run_style command cannot be used before a read_data, read_restart, or create_box command. E: Units command after simulation box is defined The units command cannot be used after a read_data, read_restart, or create_box command. */ diff --git a/src/integrate.h b/src/integrate.h index 5b5818594..414ab640b 100644 --- a/src/integrate.h +++ b/src/integrate.h @@ -1,57 +1,57 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_INTEGRATE_H #define LMP_INTEGRATE_H #include "pointers.h" namespace LAMMPS_NS { class Integrate : protected Pointers { public: Integrate(class LAMMPS *, int, char **); virtual ~Integrate(); virtual void init(); virtual void setup() = 0; virtual void setup_minimal(int) = 0; virtual void run(int) = 0; virtual void cleanup() {} virtual void reset_dt() {} virtual bigint memory_usage() {return 0;} protected: int eflag,vflag; // flags for energy/virial computation int virial_style; // compute virial explicitly or implicitly int external_force_clear; // clear forces locally or externally int nelist_global,nelist_atom; // # of PE,virial computes to check int nvlist_global,nvlist_atom; class Compute **elist_global; // lists of PE,virial Computes class Compute **elist_atom; class Compute **vlist_global; class Compute **vlist_atom; int pair_compute_flag; // 0 if pair->compute is skipped int kspace_compute_flag; // 0 if kspace->compute is skipped void ev_setup(); void ev_set(bigint); }; } #endif /* ERROR/WARNING messages: */ diff --git a/src/irregular.h b/src/irregular.h index 051b0d4df..1fdbbe03f 100644 --- a/src/irregular.h +++ b/src/irregular.h @@ -1,106 +1,106 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_IRREGULAR_H #define LMP_IRREGULAR_H #include "pointers.h" namespace LAMMPS_NS { class Irregular : protected Pointers { public: // static variable across all Irregular objects, for qsort callback static int *proc_recv_copy; Irregular(class LAMMPS *); ~Irregular(); void migrate_atoms(int sortflag = 0, int *procassign = NULL); int migrate_check(); int create_data(int, int *, int sortflag = 0); void exchange_data(char *, int, char *); void destroy_data(); bigint memory_usage(); private: int me,nprocs; int triclinic; int map_style; int layout; double *xsplit,*ysplit,*zsplit; // ptrs to comm int *procgrid; // ptr to comm int ***grid2proc; // ptr to comm double *boxlo; // ptr to domain double *prd; // ptr to domain int maxsend,maxrecv; // size of buf send/recv in # of doubles double *buf_send,*buf_recv; // bufs used in migrate_atoms int maxdbuf; // size of double buf in bytes double *dbuf; // double buf for largest single atom send int maxbuf; // size of char buf in bytes char *buf; // char buf for largest single data send int *mproclist,*msizes; // persistent vectors in migrate_atoms int maxlocal; // allocated size of mproclist and msizes int *work1,*work2; // work vectors // plan params for irregular communication of atoms or datums // no params refer to atoms/data copied to self int nsend_proc; // # of messages to send int nrecv_proc; // # of messages to recv int sendmax_proc; // # of doubles/datums in largest send message int *proc_send; // list of procs to send to int *num_send; // # of atoms/datums to send to each proc int *index_send; // list of which atoms/datums to send to each proc int *proc_recv; // list of procs to recv from MPI_Request *request; // MPI requests for posted recvs MPI_Status *status; // MPI statuses for WaitAll // extra plan params plan for irregular communication of atoms // no params refer to atoms copied to self int *length_send; // # of doubles to send to each proc int *length_recv; // # of doubles to recv from each proc int *offset_send; // where each atom starts in send buffer // extra plan params plan for irregular communication of datums // 2 self params refer to data copied to self int *num_recv; // # of datums to recv from each proc int num_self; // # of datums to copy to self int *index_self; // list of which datums to copy to self // private methods int create_atom(int, int *, int *, int); void exchange_atom(double *, int *, double *); void destroy_atom(); int coord2proc(double *, int &, int &, int &); int binary(double, int, double *); void grow_send(int,int); // reallocate send buffer void grow_recv(int); // free/allocate recv buffer }; } #endif /* ERROR/WARNING messages: */ diff --git a/src/molecule.h b/src/molecule.h index 45aae371a..a786c0c5d 100644 --- a/src/molecule.h +++ b/src/molecule.h @@ -1,310 +1,310 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_ONE_MOLECULE_H #define LMP_ONE_MOLECULE_H #include "pointers.h" namespace LAMMPS_NS { class Molecule : protected Pointers { public: char *id; // template id of this molecule, same for all molecules in set int nset; // if first in set, # of molecules in this set // else 0 if not first in set // number of atoms,bonds,etc in molecule int natoms; int nbonds,nangles,ndihedrals,nimpropers; int ntypes; int nbondtypes,nangletypes,ndihedraltypes,nimpropertypes; // max bond,angle,etc per atom int bond_per_atom,angle_per_atom,dihedral_per_atom,improper_per_atom; int maxspecial; // 1 if attribute defined in file, 0 if not int xflag,typeflag,qflag,radiusflag,rmassflag; int bondflag,angleflag,dihedralflag,improperflag; int nspecialflag,specialflag; int shakeflag,shakeflagflag,shakeatomflag,shaketypeflag; // 1 if attribute defined or computed, 0 if not int centerflag,massflag,comflag,inertiaflag; // 1 if molecule fields require atom IDs int tag_require; // attributes double **x; // displacement of each atom from origin int *type; // type of each atom double *q; // charge on each atom double *radius; // radius of each atom double *rmass; // mass of each atom int *num_bond; // bonds, angles, dihedrals, impropers for each atom int **bond_type; tagint **bond_atom; int *num_angle; int **angle_type; tagint **angle_atom1,**angle_atom2,**angle_atom3; int *num_dihedral; int **dihedral_type; tagint **dihedral_atom1,**dihedral_atom2,**dihedral_atom3,**dihedral_atom4; int *num_improper; int **improper_type; tagint **improper_atom1,**improper_atom2,**improper_atom3,**improper_atom4; int **nspecial; tagint **special; int *shake_flag; tagint **shake_atom; int **shake_type; double center[3]; // geometric center of molecule double masstotal; // total mass of molecule double com[3]; // center of mass of molecule double itensor[6]; // moments of inertia of molecule double inertia[3]; // principal moments of inertia of molecule double ex[3],ey[3],ez[3]; // principal axes of molecule in space coords double quat[4]; // quaternion for orientation of molecule double molradius; // radius of molecule from COM, // including finite-size particle radii int comatom; // index (1-Natom) of atom closest to COM double maxextent; // furthest any atom in molecule is from comatom double **dx; // displacement of each atom relative to center double **dxcom; // displacement of each atom relative to COM double **dxbody; // displacement of each atom relative to COM // in body frame (diagonalized interia tensor) Molecule(class LAMMPS *, char *, char *); ~Molecule(); void compute_center(); void compute_mass(); void compute_com(); void compute_inertia(); void check_attributes(int); private: int me; FILE *fp; int *count; void read(int); void coords(char *); void types(char *); void charges(char *); void diameters(char *); void masses(char *); void bonds(int, char *); void angles(int, char *); void dihedrals(int, char *); void impropers(int, char *); void nspecial_read(int, char *); void special_read(char *); void shakeflag_read(char *); void shakeatom_read(char *); void shaketype_read(char *); void initialize(); void allocate(); void deallocate(); void open(char *); void readline(char *); void parse_keyword(int, char *, char *); void skip_lines(int, char *); int parse(char *, char **, int); // void print(); }; } #endif /* ERROR/WARNING messages: E: Molecule template ID must be alphanumeric or underscore characters Self-explanatory. E: Insufficient Jacobi rotations for rigid molecule Eigensolve for rigid body was not sufficiently accurate. E: Unexpected end of molecule file Self-explanatory. E: Molecule file z center-of-mass must be 0.0 for 2d Self-explanatory. E: No atom count in molecule file Self-explanatory. E: Molecule file has bonds but no nbonds setting Self-explanatory. E: Molecule file has angles but no nangles setting Self-explanatory. E: Molecule file has dihedrals but no ndihedrals setting Self-explanatory. E: Molecule file has impropers but no nimpropers setting Self-explanatory. E: Molecule file shake flags not before shake atoms The order of the two sections is important. E: Molecule file shake flags not before shake bonds The order of the two sections is important. E: Unknown section in molecule file Self-explanatory. E: Molecule file needs both Special Bond sections Self-explanatory. E: Molecule file has special flags but no bonds Self-explanatory. E: Molecule file shake info is incomplete All 3 SHAKE sections are needed. E: Molecule file z coord must be 0.0 for 2d Self-explanatory. E: Invalid atom type in molecule file Atom types must range from 1 to specified # of types. E: Invalid atom diameter in molecule file Diameters must be >= 0.0. E: Invalid atom mass in molecule file Masses must be > 0.0. E: Invalid atom ID in Bonds section of molecule file Self-explanatory. E: Invalid bond type in Bonds section of molecule file Self-explanatory. E: Invalid atom ID in Angles section of molecule file Self-explanatory. E: Invalid angle type in Angles section of molecule file Self-explanatory. E: Invalid atom ID in dihedrals section of molecule file Self-explanatory. E: Invalid dihedral type in dihedrals section of molecule file Self-explanatory. E: Invalid atom ID in impropers section of molecule file Self-explanatory. E: Invalid improper type in impropers section of molecule file Self-explanatory. E: Molecule file special list does not match special count The number of values in an atom's special list does not match count. E: Invalid special atom index in molecule file Self-explanatory. E: Invalid shake flag in molecule file Self-explanatory. E: Invalid shake atom in molecule file Self-explanatory. E: Invalid shake bond type in molecule file Self-explanatory. E: Invalid shake angle type in molecule file Self-explanatory. W: Molecule attributes do not match system attributes An attribute is specified (e.g. diameter, charge) that is not defined for the specified atom style. E: Molecule topology type exceeds system topology type The number of bond, angle, etc types in the molecule exceeds the system setting. See the create_box command for how to specify these values. E: Molecule toplogy/atom exceeds system topology/atom The number of bonds, angles, etc per-atom in the molecule exceeds the system setting. See the create_box command for how to specify these values. W: Molecule has bond topology but no special bond settings This means the bonded atoms will not be excluded in pair-wise interactions. E: Cannot open molecule file %s The specified file cannot be opened. Check that the path and name are correct. */ diff --git a/src/mpiio.h b/src/mpiio.h index f984fa5bf..70e62fec9 100644 --- a/src/mpiio.h +++ b/src/mpiio.h @@ -1,51 +1,51 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_MPIIO_H #define LMP_MPIIO_H // true interface to MPIIO package // used when MPIIO pacakge is installed #ifdef LMP_MPIIO #if defined(MPI_STUBS) #error "The MPIIO package cannot be compiled in serial with MPI STUBS" #endif #include "restart_mpiio.h" #else // dummy interface to MPIIO package // needed for compiling when MPIIO package is not installed namespace LAMMPS_NS { class RestartMPIIO { public: int mpiio_exists; RestartMPIIO(class LAMMPS *) {mpiio_exists = 0;} ~RestartMPIIO() {} void openForRead(char *) {} void openForWrite(char *) {} void write(MPI_Offset,int,double *) {} void read(MPI_Offset,long,double *) {} void close() {} }; } #endif #endif diff --git a/src/my_pool_chunk.h b/src/my_pool_chunk.h index a4d45306c..9ae98cee3 100644 --- a/src/my_pool_chunk.h +++ b/src/my_pool_chunk.h @@ -1,206 +1,206 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- MyPoolChunk = templated class for storing chunks of datums in pages chunks can be returned to pool for reuse chunks come in nbin different fixed sizes so can reuse replaces many small mallocs with a few large mallocs pages are never freed, so can reuse w/out reallocs usage: continously get() and put() chunks as needed NOTE: could add a clear() if retain info on mapping of pages to bins inputs: template T = one datum, e.g. int, double, struct minchunk = min # of datums in one chunk, def = 1 maxchunk = max # of datums in one chunk, def = 1 nbin = # of bins between minchunk and maxchunk chunkperpage = # of chunks in one page, def = 1024 pagedelta = # of pages to allocate at a time, def = 1 methods: T *get(index) = return ptr/index to unused chunk of size maxchunk T *get(N,index) = return ptr/index to unused chunk of size N minchunk < N < maxchunk required put(index) = return indexed chunk to pool (same index returned by get) int size() = return total size of allocated pages in bytes public varaibles: ndatum = total # of stored datums nchunk = total # of stored chunks size = total size of all allocated pages in daums errorflag = flag for various error conditions ------------------------------------------------------------------------- */ #ifndef LAMMPS_MY_POOL_CHUNK_H #define LAMMPS_MY_POOL_CHUNK_H #include "stdlib.h" namespace LAMMPS_NS { template class MyPoolChunk { public: int ndatum; // total # of stored datums int nchunk; // total # of stored chunks int size; // total size of all allocated pages in datums int errorflag; // flag > 1 if error has occurred // 1 = invalid inputs // 2 = memory allocation error // 3 = chunk size exceeded maxchunk MyPoolChunk(int user_minchunk = 1, int user_maxchunk = 1, int user_nbin = 1, int user_chunkperpage = 1024, int user_pagedelta = 1) { minchunk = user_minchunk; maxchunk = user_maxchunk; nbin = user_nbin; chunkperpage = user_chunkperpage; pagedelta = user_pagedelta; errorflag = 0; if (minchunk <= 0 || minchunk > maxchunk) errorflag = 1; if (user_nbin <= 0 || chunkperpage <= 0 || pagedelta <= 0) errorflag = 1; freehead = new int[nbin]; chunksize = new int[nbin]; if (!freehead || !chunksize) errorflag = 1; if (errorflag) return; // insure nbin*binsize spans minchunk to maxchunk inclusive binsize = (maxchunk-minchunk+1) / nbin; if (minchunk + nbin*binsize <= maxchunk) binsize++; freelist = NULL; for (int ibin = 0; ibin < nbin; ibin++) { freehead[ibin] = -1; chunksize[ibin] = minchunk + (ibin+1)*binsize - 1; if (chunksize[ibin] > maxchunk) chunksize[ibin] = maxchunk; } ndatum = nchunk = size = 0; pages = NULL; whichbin = NULL; npage = 0; } // free all allocated memory ~MyPoolChunk() { delete [] freehead; delete [] chunksize; if (npage) { free(freelist); for (int i = 0; i < npage; i++) free(pages[i]); free(pages); free(whichbin); } } // return pointer/index of unused chunk of size maxchunk T *get(int &index) { int ibin = nbin-1; if (freehead[ibin] < 0) { allocate(ibin); if (errorflag) return NULL; } ndatum += maxchunk; nchunk++; index = freehead[ibin]; int ipage = index/chunkperpage; int ientry = index % chunkperpage; freehead[ibin] = freelist[index]; return &pages[ipage][ientry*chunksize[ibin]]; } // return pointer/index of unused chunk of size N T *get(int n, int &index) { if (n < minchunk || n > maxchunk) { errorflag = 3; return NULL; } int ibin = (n-minchunk) / binsize; if (freehead[ibin] < 0) { allocate(ibin); if (errorflag) return NULL; } ndatum += n; nchunk++; index = freehead[ibin]; int ipage = index/chunkperpage; int ientry = index % chunkperpage; freehead[ibin] = freelist[index]; return &pages[ipage][ientry*chunksize[ibin]]; } // return indexed chunk to pool via free list void put(int index) { int ipage = index/chunkperpage; int ibin = whichbin[ipage]; nchunk--; ndatum -= chunksize[ibin]; freelist[index] = freehead[ibin]; freehead[ibin] = index; } private: int minchunk; // min # of datums per chunk int maxchunk; // max # of datums per chunk int nbin; // # of bins to split min-to-max into int chunkperpage; // # of chunks on every page, regardless of which bin int pagedelta; // # of pages to allocate at once, default = 1 int binsize; // delta in chunk sizes between adjacent bins T **pages; // list of allocated pages int *whichbin; // which bin each page belongs to int npage; // # of allocated pages int *freelist; // each chunk points to next unused chunk in same bin int *freehead; // index of first unused chunk in each bin int *chunksize; // size of chunks in each bin void allocate(int ibin) { int oldpage = npage; npage += pagedelta; freelist = (int *) realloc(freelist,npage*chunkperpage*sizeof(int)); pages = (T **) realloc(pages,npage*sizeof(T *)); whichbin = (int *) realloc(whichbin,npage*sizeof(int)); if (!freelist || !pages) { errorflag = 2; return; } // allocate pages with appropriate chunksize for ibin for (int i = oldpage; i < npage; i++) { whichbin[i] = ibin; pages[i] = (T *) malloc(chunkperpage*chunksize[ibin]*sizeof(T)); size += chunkperpage*chunksize[ibin]; if (!pages[i]) errorflag = 2; } // reset free list for unused chunks on new pages freehead[ibin] = oldpage*chunkperpage; for (int i = freehead[ibin]; i < npage*chunkperpage; i++) freelist[i] = i+1; freelist[npage*chunkperpage-1] = -1; } }; } #endif diff --git a/src/pair_born.h b/src/pair_born.h index 77750db4d..f32659817 100644 --- a/src/pair_born.h +++ b/src/pair_born.h @@ -1,76 +1,76 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(born,PairBorn) #else #ifndef PAIR_BORN_H #define PAIR_BORN_H #include "pair.h" namespace LAMMPS_NS { class PairBorn : public Pair { public: PairBorn(class LAMMPS *); virtual ~PairBorn(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); double single(int, int, int, int, double, double, double, double &); void *extract(const char *, int &); protected: double cut_global; double **cut; double **a,**rho,**sigma,**c, **d; double **rhoinv,**born1,**born2,**born3,**offset; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. */ diff --git a/src/pair_buck.h b/src/pair_buck.h index 5c01c3e18..bdcb1560e 100644 --- a/src/pair_buck.h +++ b/src/pair_buck.h @@ -1,75 +1,75 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(buck,PairBuck) #else #ifndef LMP_PAIR_BUCK_H #define LMP_PAIR_BUCK_H #include "pair.h" namespace LAMMPS_NS { class PairBuck : public Pair { public: PairBuck(class LAMMPS *); virtual ~PairBuck(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); double single(int, int, int, int, double, double, double, double &); void *extract(const char *, int &); protected: double cut_global; double **cut; double **a,**rho,**c; double **rhoinv,**buck1,**buck2,**offset; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. */ diff --git a/src/pair_buck_coul_cut.h b/src/pair_buck_coul_cut.h index 8d7ec1abd..cefcc0a70 100644 --- a/src/pair_buck_coul_cut.h +++ b/src/pair_buck_coul_cut.h @@ -1,80 +1,80 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(buck/coul/cut,PairBuckCoulCut) #else #ifndef LMP_PAIR_BUCK_COUL_CUT_H #define LMP_PAIR_BUCK_COUL_CUT_H #include "pair.h" namespace LAMMPS_NS { class PairBuckCoulCut : public Pair { public: PairBuckCoulCut(class LAMMPS *); virtual ~PairBuckCoulCut(); virtual void compute(int, int); virtual void settings(int, char **); void coeff(int, char **); virtual void init_style(); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); virtual void write_restart_settings(FILE *); virtual void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); virtual double single(int, int, int, int, double, double, double, double &); protected: double cut_lj_global,cut_coul_global; double **cut_lj,**cut_ljsq; double **cut_coul,**cut_coulsq; double **a,**rho,**c; double **rhoinv,**buck1,**buck2,**offset; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style buck/coul/cut requires atom attribute q The atom style defined does not have this attribute. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. */ diff --git a/src/pair_coul_cut.h b/src/pair_coul_cut.h index fbd76c4bb..13b6612a8 100644 --- a/src/pair_coul_cut.h +++ b/src/pair_coul_cut.h @@ -1,71 +1,71 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(coul/cut,PairCoulCut) #else #ifndef LMP_PAIR_COUL_CUT_H #define LMP_PAIR_COUL_CUT_H #include "pair.h" namespace LAMMPS_NS { class PairCoulCut : public Pair { public: PairCoulCut(class LAMMPS *); virtual ~PairCoulCut(); virtual void compute(int, int); virtual void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); virtual void write_restart_settings(FILE *); virtual void read_restart_settings(FILE *); virtual double single(int, int, int, int, double, double, double, double &); void *extract(const char *, int &); protected: double cut_global; double **cut,**scale; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style coul/cut requires atom attribute q The atom style defined does not have these attributes. */ diff --git a/src/pair_coul_debye.h b/src/pair_coul_debye.h index 9e7cca67b..a83fbf3e8 100644 --- a/src/pair_coul_debye.h +++ b/src/pair_coul_debye.h @@ -1,53 +1,53 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(coul/debye,PairCoulDebye) #else #ifndef LMP_PAIR_COUL_DEBYE_H #define LMP_PAIR_COUL_DEBYE_H #include "pair_coul_cut.h" namespace LAMMPS_NS { class PairCoulDebye : public PairCoulCut { public: PairCoulDebye(class LAMMPS *); virtual void compute(int, int); void settings(int, char **); void write_restart_settings(FILE *); void read_restart_settings(FILE *); double single(int, int, int, int, double, double, double, double &); protected: double kappa; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/pair_coul_dsf.h b/src/pair_coul_dsf.h index 69825c16b..7a6f74edf 100644 --- a/src/pair_coul_dsf.h +++ b/src/pair_coul_dsf.h @@ -1,72 +1,72 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(coul/dsf,PairCoulDSF) #else #ifndef LMP_PAIR_COUL_DSF_H #define LMP_PAIR_COUL_DSF_H #include "pair.h" namespace LAMMPS_NS { class PairCoulDSF : public Pair { public: PairCoulDSF(class LAMMPS *); ~PairCoulDSF(); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); double single(int, int, int, int, double, double, double, double &); void *extract(const char *, int &); protected: double cut_coul,cut_coulsq; double alpha; double f_shift,e_shift; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style coul/dsf requires atom attribute q The atom style defined does not have this attribute. */ diff --git a/src/pair_dpd.h b/src/pair_dpd.h index 05199d095..70deec33f 100644 --- a/src/pair_dpd.h +++ b/src/pair_dpd.h @@ -1,85 +1,85 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(dpd,PairDPD) #else #ifndef LMP_PAIR_DPD_H #define LMP_PAIR_DPD_H #include "pair.h" namespace LAMMPS_NS { class PairDPD : public Pair { public: PairDPD(class LAMMPS *); virtual ~PairDPD(); virtual void compute(int, int); virtual void settings(int, char **); virtual void coeff(int, char **); void init_style(); double init_one(int, int); virtual void write_restart(FILE *); virtual void read_restart(FILE *); virtual void write_restart_settings(FILE *); virtual void read_restart_settings(FILE *); virtual void write_data(FILE *); virtual void write_data_all(FILE *); double single(int, int, int, int, double, double, double, double &); protected: double cut_global,temperature; int seed; double **cut; double **a0,**gamma; double **sigma; class RanMars *random; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair dpd requires ghost atoms store velocity Use the comm_modify vel yes command to enable this. W: Pair dpd needs newton pair on for momentum conservation Self-explanatory. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. */ diff --git a/src/pair_dpd_tstat.h b/src/pair_dpd_tstat.h index 69dd7e11c..5232b367e 100644 --- a/src/pair_dpd_tstat.h +++ b/src/pair_dpd_tstat.h @@ -1,62 +1,62 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(dpd/tstat,PairDPDTstat) #else #ifndef LMP_PAIR_DPD_TSTAT_H #define LMP_PAIR_DPD_TSTAT_H #include "pair_dpd.h" namespace LAMMPS_NS { class PairDPDTstat : public PairDPD { public: PairDPDTstat(class LAMMPS *); ~PairDPDTstat() {} void compute(int, int); void settings(int, char **); void coeff(int, char **); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); protected: double t_start,t_stop; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. */ diff --git a/src/pair_gauss.h b/src/pair_gauss.h index d38c8a477..54ba29214 100644 --- a/src/pair_gauss.h +++ b/src/pair_gauss.h @@ -1,73 +1,73 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(gauss,PairGauss) #else #ifndef PAIR_GAUSS_H #define PAIR_GAUSS_H #include "pair.h" namespace LAMMPS_NS { class PairGauss : public Pair { public: PairGauss(class LAMMPS *); virtual ~PairGauss(); virtual void compute(int,int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); double single(int, int, int, int, double, double, double, double &); void *extract(const char *, int &); protected: double cut_global; double **cut; double **a,**b; double **offset; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. */ diff --git a/src/pair_hybrid.h b/src/pair_hybrid.h index f273634ab..56bf9aa40 100644 --- a/src/pair_hybrid.h +++ b/src/pair_hybrid.h @@ -1,122 +1,122 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(hybrid,PairHybrid) #else #ifndef LMP_PAIR_HYBRID_H #define LMP_PAIR_HYBRID_H #include "stdio.h" #include "pair.h" namespace LAMMPS_NS { class PairHybrid : public Pair { public: int nstyles; // # of sub-styles Pair **styles; // list of Pair style classes char **keywords; // style name of each Pair style int *multiple; // 0 if style used once, else Mth instance PairHybrid(class LAMMPS *); virtual ~PairHybrid(); void compute(int, int); void settings(int, char **); virtual void coeff(int, char **); void init_style(); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); double single(int, int, int, int, double, double, double, double &); void modify_params(int narg, char **arg); double memory_usage(); void compute_inner(); void compute_middle(); void compute_outer(int, int); void *extract(const char *, int &); void reset_dt(); int check_ijtype(int, int, char *); protected: int outerflag; // toggle compute() when invoked by outer() int **nmap; // # of sub-styles itype,jtype points to int ***map; // list of sub-styles itype,jtype points to void allocate(); void flags(); virtual void modify_requests(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Pair style hybrid cannot have hybrid as an argument Self-explanatory. E: Pair style hybrid cannot have none as an argument Self-explanatory. E: Incorrect args for pair coefficients Self-explanatory. Check the input script or data file. E: Pair coeff for hybrid has invalid style Style in pair coeff must have been listed in pair_style command. E: Pair hybrid sub-style is not used No pair_coeff command used a sub-style specified in the pair_style command. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. E: Invoked pair single on pair style none A command (e.g. a dump) attempted to invoke the single() function on a pair style none, which is illegal. You are probably attempting to compute per-atom quantities with an undefined pair style. E: Pair hybrid sub-style does not support single call You are attempting to invoke a single() call on a pair style that doesn't support it. E: Coulomb cutoffs of pair hybrid sub-styles do not match If using a Kspace solver, all Coulomb cutoffs of long pair styles must be the same. */ diff --git a/src/pair_hybrid_overlay.h b/src/pair_hybrid_overlay.h index b79bd97a1..60cff4550 100644 --- a/src/pair_hybrid_overlay.h +++ b/src/pair_hybrid_overlay.h @@ -1,52 +1,52 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(hybrid/overlay,PairHybridOverlay) #else #ifndef LMP_PAIR_HYBRID_OVERLAY_H #define LMP_PAIR_HYBRID_OVERLAY_H #include "pair_hybrid.h" namespace LAMMPS_NS { class PairHybridOverlay : public PairHybrid { public: PairHybridOverlay(class LAMMPS *); ~PairHybridOverlay() {} void coeff(int, char **); private: void modify_requests(); }; } #endif #endif /* ERROR/WARNING messages: E: Incorrect args for pair coefficients Self-explanatory. Check the input script or data file. E: Pair coeff for hybrid has invalid style Style in pair coeff must have been listed in pair_style command. */ diff --git a/src/pair_lj96_cut.h b/src/pair_lj96_cut.h index a9958a470..6b677c642 100644 --- a/src/pair_lj96_cut.h +++ b/src/pair_lj96_cut.h @@ -1,82 +1,82 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj96/cut,PairLJ96Cut) #else #ifndef LMP_PAIR_LJ96_CUT_H #define LMP_PAIR_LJ96_CUT_H #include "pair.h" namespace LAMMPS_NS { class PairLJ96Cut : public Pair { public: PairLJ96Cut(class LAMMPS *); virtual ~PairLJ96Cut(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); void init_list(int, class NeighList *); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); double single(int, int, int, int, double, double, double, double &); void compute_inner(); void compute_middle(); void compute_outer(int, int); protected: double cut_global; double **cut; double **epsilon,**sigma; double **lj1,**lj2,**lj3,**lj4,**offset; double *cut_respa; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair cutoff < Respa interior cutoff One or more pairwise cutoffs are too short to use with the specified rRESPA cutoffs. */ diff --git a/src/pair_lj_cubic.h b/src/pair_lj_cubic.h index cdb311c41..d0af06c0a 100644 --- a/src/pair_lj_cubic.h +++ b/src/pair_lj_cubic.h @@ -1,80 +1,80 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cubic,PairLJCubic) #else #ifndef LMP_PAIR_LJ_CUBIC_H #define LMP_PAIR_LJ_CUBIC_H #include "pair.h" namespace LAMMPS_NS { class PairLJCubic : public Pair { public: PairLJCubic(class LAMMPS *); virtual ~PairLJCubic(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); double single(int, int, int, int, double, double, double, double &); protected: double **cut,**cut_inner,**cut_inner_sq; double **epsilon,**sigma; double **lj1,**lj2,**lj3,**lj4; void allocate(); }; namespace PairLJCubicConstants { // LJ quantities scaled by epsilon and rmin = sigma*2^1/6 static const double RT6TWO = 1.1224621; // 2^1/6 static const double SS = 1.1086834; // inflection point (13/7)^1/6 static const double PHIS = -0.7869823; // energy at s static const double DPHIDS = 2.6899009; // gradient at s static const double A3 = 27.93357; // cubic coefficient static const double SM = 1.5475375; // cubic cutoff = s*67/48 } } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. */ diff --git a/src/pair_lj_cut.h b/src/pair_lj_cut.h index 6ecd15c30..43eeda09c 100644 --- a/src/pair_lj_cut.h +++ b/src/pair_lj_cut.h @@ -1,82 +1,82 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut,PairLJCut) #else #ifndef LMP_PAIR_LJ_CUT_H #define LMP_PAIR_LJ_CUT_H #include "pair.h" namespace LAMMPS_NS { class PairLJCut : public Pair { public: PairLJCut(class LAMMPS *); virtual ~PairLJCut(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); void init_list(int, class NeighList *); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); double single(int, int, int, int, double, double, double, double &); void *extract(const char *, int &); void compute_inner(); void compute_middle(); void compute_outer(int, int); protected: double cut_global; double **cut; double **epsilon,**sigma; double **lj1,**lj2,**lj3,**lj4,**offset; double *cut_respa; virtual void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair cutoff < Respa interior cutoff One or more pairwise cutoffs are too short to use with the specified rRESPA cutoffs. */ diff --git a/src/pair_lj_cut_coul_debye.h b/src/pair_lj_cut_coul_debye.h index 4dd41080c..81a53a255 100644 --- a/src/pair_lj_cut_coul_debye.h +++ b/src/pair_lj_cut_coul_debye.h @@ -1,54 +1,54 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/coul/debye,PairLJCutCoulDebye) #else #ifndef LMP_PAIR_LJ_CUT_COUL_DEBYE_H #define LMP_PAIR_LJ_CUT_COUL_DEBYE_H #include "pair_lj_cut_coul_cut.h" namespace LAMMPS_NS { class PairLJCutCoulDebye : public PairLJCutCoulCut { public: PairLJCutCoulDebye(class LAMMPS *); virtual ~PairLJCutCoulDebye() {} virtual void compute(int, int); void settings(int, char **); void write_restart_settings(FILE *); void read_restart_settings(FILE *); double single(int, int, int, int, double, double, double, double &); protected: double kappa; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/pair_lj_cut_coul_dsf.h b/src/pair_lj_cut_coul_dsf.h index 9a0fa49d4..7cbc2ad4f 100644 --- a/src/pair_lj_cut_coul_dsf.h +++ b/src/pair_lj_cut_coul_dsf.h @@ -1,77 +1,77 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/cut/coul/dsf,PairLJCutCoulDSF) #else #ifndef LMP_PAIR_LJ_CUT_COUL_DSF_H #define LMP_PAIR_LJ_CUT_COUL_DSF_H #include "pair.h" namespace LAMMPS_NS { class PairLJCutCoulDSF : public Pair { public: PairLJCutCoulDSF(class LAMMPS *); ~PairLJCutCoulDSF(); void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); double single(int, int, int, int, double, double, double, double &); void *extract(const char *, int &); protected: double cut_lj_global; double **cut_lj,**cut_ljsq; double **epsilon,**sigma; double **lj1,**lj2,**lj3,**lj4,**offset; double cut_coul,cut_coulsq; double alpha; double f_shift,e_shift; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style lj/cut/coul/dsf requires atom attribute q The atom style defined does not have these attributes. */ diff --git a/src/pair_lj_expand.h b/src/pair_lj_expand.h index 48fabc717..05ef3d26e 100644 --- a/src/pair_lj_expand.h +++ b/src/pair_lj_expand.h @@ -1,71 +1,71 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/expand,PairLJExpand) #else #ifndef LMP_PAIR_LJ_EXPAND_H #define LMP_PAIR_LJ_EXPAND_H #include "pair.h" namespace LAMMPS_NS { class PairLJExpand : public Pair { public: PairLJExpand(class LAMMPS *); virtual ~PairLJExpand(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); double single(int, int, int, int, double, double, double, double &); void *extract(const char *, int &); protected: double cut_global; double **cut; double **epsilon,**sigma,**shift; double **lj1,**lj2,**lj3,**lj4,**offset; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. */ diff --git a/src/pair_lj_gromacs.h b/src/pair_lj_gromacs.h index 9a89bcbe0..f02db18c0 100644 --- a/src/pair_lj_gromacs.h +++ b/src/pair_lj_gromacs.h @@ -1,70 +1,70 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/gromacs,PairLJGromacs) #else #ifndef LMP_PAIR_LJ_GROMACS_H #define LMP_PAIR_LJ_GROMACS_H #include "pair.h" namespace LAMMPS_NS { class PairLJGromacs : public Pair { public: PairLJGromacs(class LAMMPS *); virtual ~PairLJGromacs(); virtual void compute(int, int); virtual void settings(int, char **); void coeff(int, char **); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); virtual void write_restart_settings(FILE *); virtual void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); virtual double single(int, int, int, int, double, double, double, double &); protected: double cut_inner_global,cut_global; double **cut,**cut_inner,**cut_inner_sq; double **epsilon,**sigma; double **lj1,**lj2,**lj3,**lj4; double **ljsw1,**ljsw2,**ljsw3,**ljsw4,**ljsw5; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. */ diff --git a/src/pair_lj_gromacs_coul_gromacs.h b/src/pair_lj_gromacs_coul_gromacs.h index 4e5984dba..378a51a98 100644 --- a/src/pair_lj_gromacs_coul_gromacs.h +++ b/src/pair_lj_gromacs_coul_gromacs.h @@ -1,76 +1,76 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/gromacs/coul/gromacs,PairLJGromacsCoulGromacs) #else #ifndef LMP_PAIR_LJ_GROMACS_COUL_GROMACS_H #define LMP_PAIR_LJ_GROMACS_COUL_GROMACS_H #include "pair.h" namespace LAMMPS_NS { class PairLJGromacsCoulGromacs : public Pair { public: PairLJGromacsCoulGromacs(class LAMMPS *); virtual ~PairLJGromacsCoulGromacs(); virtual void compute(int, int); virtual void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); virtual void write_restart_settings(FILE *); virtual void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); virtual double single(int, int, int, int, double, double, double, double &); protected: double cut_lj_inner,cut_lj,cut_coul_inner,cut_coul; double cut_lj_innersq,cut_ljsq,cut_coul_innersq,cut_coulsq,cut_bothsq; double **epsilon,**sigma; double **lj1,**lj2,**lj3,**lj4; double **ljsw1,**ljsw2,**ljsw3,**ljsw4,**ljsw5; double coulsw1,coulsw2,coulsw3,coulsw4,coulsw5; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair style lj/gromacs/coul/gromacs requires atom attribute q An atom_style with this attribute is needed. */ diff --git a/src/pair_lj_smooth.h b/src/pair_lj_smooth.h index aa48d5970..35d1374de 100644 --- a/src/pair_lj_smooth.h +++ b/src/pair_lj_smooth.h @@ -1,71 +1,71 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(lj/smooth,PairLJSmooth) #else #ifndef LMP_PAIR_LJ_SMOOTH_H #define LMP_PAIR_LJ_SMOOTH_H #include "pair.h" namespace LAMMPS_NS { class PairLJSmooth : public Pair { public: PairLJSmooth(class LAMMPS *); virtual ~PairLJSmooth(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); double single(int, int, int, int, double, double, double, double &); protected: double cut_inner_global,cut_global; double **cut,**cut_inner,**cut_inner_sq; double **epsilon,**sigma; double **lj1,**lj2,**lj3,**lj4; double **ljsw0,**ljsw1,**ljsw2,**ljsw3,**ljsw4; double **offset; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. */ diff --git a/src/pair_mie_cut.h b/src/pair_mie_cut.h index b03d18c8c..2a0a29843 100644 --- a/src/pair_mie_cut.h +++ b/src/pair_mie_cut.h @@ -1,81 +1,81 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(mie/cut,PairMIECut) #else #ifndef LMP_PAIR_MIE_CUT_H #define LMP_PAIR_MIE_CUT_H #include "pair.h" namespace LAMMPS_NS { class PairMIECut : public Pair { public: PairMIECut(class LAMMPS *); virtual ~PairMIECut(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); void init_list(int, class NeighList *); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); double single(int, int, int, int, double, double, double, double &); void *extract(const char *, int &); void compute_inner(); void compute_middle(); void compute_outer(int, int); protected: double cut_global; double **cut; double **epsilon,**sigma; double **gamR,**gamA,**Cmie; double **mie1,**mie2,**mie3,**mie4,**offset; double *cut_respa; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: Pair cutoff < Respa interior cutoff One or more pairwise cutoffs are too short to use with the specified rRESPA cutoffs. */ diff --git a/src/pair_morse.h b/src/pair_morse.h index 9be37b23a..72d0a59ae 100644 --- a/src/pair_morse.h +++ b/src/pair_morse.h @@ -1,76 +1,76 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(morse,PairMorse) #else #ifndef LMP_PAIR_MORSE_H #define LMP_PAIR_MORSE_H #include "pair.h" namespace LAMMPS_NS { class PairMorse : public Pair { public: PairMorse(class LAMMPS *); virtual ~PairMorse(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); double single(int, int, int, int, double, double, double, double &); protected: double cut_global; double **cut; double **d0,**alpha,**r0; double **morse1; double **offset; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. */ diff --git a/src/pair_soft.h b/src/pair_soft.h index 5fd9becb7..daa106204 100644 --- a/src/pair_soft.h +++ b/src/pair_soft.h @@ -1,72 +1,72 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(soft,PairSoft) #else #ifndef LMP_PAIR_SOFT_H #define LMP_PAIR_SOFT_H #include "pair.h" namespace LAMMPS_NS { class PairSoft : public Pair { friend class Pair; public: PairSoft(class LAMMPS *); virtual ~PairSoft(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); double single(int, int, int, int, double, double, double, double &); void *extract(const char *, int &); protected: double cut_global; double **prefactor; double **cut; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. */ diff --git a/src/pair_table.h b/src/pair_table.h index 80e0c52b6..6cfd9df83 100644 --- a/src/pair_table.h +++ b/src/pair_table.h @@ -1,148 +1,148 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(table,PairTable) #else #ifndef LMP_PAIR_TABLE_H #define LMP_PAIR_TABLE_H #include "pair.h" namespace LAMMPS_NS { class PairTable : public Pair { public: PairTable(class LAMMPS *); virtual ~PairTable(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); double single(int, int, int, int, double, double, double, double &); void *extract(const char *, int &); protected: enum{LOOKUP,LINEAR,SPLINE,BITMAP}; int tabstyle,tablength; struct Table { int ninput,rflag,fpflag,match,ntablebits; int nshiftbits,nmask; double rlo,rhi,fplo,fphi,cut; double *rfile,*efile,*ffile; double *e2file,*f2file; double innersq,delta,invdelta,deltasq6; double *rsq,*drsq,*e,*de,*f,*df,*e2,*f2; }; int ntables; Table *tables; int **tabindex; void allocate(); void read_table(Table *, char *, char *); void param_extract(Table *, char *); void bcast_table(Table *); void spline_table(Table *); void compute_table(Table *); void null_table(Table *); void free_table(Table *); void spline(double *, double *, int, double, double, double *); double splint(double *, double *, double *, int, double); }; } #endif #endif /* ERROR/WARNING messages: E: Pair distance < table inner cutoff Two atoms are closer together than the pairwise table allows. E: Pair distance > table outer cutoff Two atoms are further apart than the pairwise table allows. E: Illegal ... command 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: Unknown table style in pair_style command Style of table is invalid for use with pair_style table command. E: Illegal number of pair table entries There must be at least 2 table entries. E: Invalid pair table length Length of read-in pair table is invalid E: Invalid pair table cutoff Cutoffs in pair_coeff command are not valid with read-in pair table. E: Bitmapped table in file does not match requested table Setting for bitmapped table in pair_coeff command must match table in file exactly. E: All pair coeffs are not set All pair coefficients must be set in the data file or by the pair_coeff command before running a simulation. E: Cannot open file %s The specified file cannot be opened. Check that the path and name are correct. If the file is a compressed file, also check that the gzip executable can be found and run. E: Did not find keyword in table file Keyword used in pair_coeff command was not found in table file. E: Bitmapped table is incorrect length in table file Number of table entries is not a correct power of 2. E: Invalid keyword in pair table parameters Keyword used in list of table parameters is not recognized. E: Pair table parameters did not set N List of pair table parameters must include N setting. E: Pair table cutoffs must all be equal to use with KSpace When using pair style table with a long-range KSpace solver, the cutoffs for all atom type pairs must all be the same, since the long-range solver starts at that cutoff. */ diff --git a/src/pair_yukawa.h b/src/pair_yukawa.h index 2eea8c3ee..3859d163a 100644 --- a/src/pair_yukawa.h +++ b/src/pair_yukawa.h @@ -1,69 +1,69 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(yukawa,PairYukawa) #else #ifndef LMP_PAIR_YUKAWA_H #define LMP_PAIR_YUKAWA_H #include "pair.h" namespace LAMMPS_NS { class PairYukawa : public Pair { public: PairYukawa(class LAMMPS *); virtual ~PairYukawa(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); virtual double init_one(int, int); void write_restart(FILE *); void read_restart(FILE *); void write_restart_settings(FILE *); void read_restart_settings(FILE *); void write_data(FILE *); void write_data_all(FILE *); virtual double single(int, int, int, int, double, double, double, double &); protected: double cut_global; double kappa; double *rad; double **cut,**a,**offset; void allocate(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. */ diff --git a/src/pair_zbl.h b/src/pair_zbl.h index 0f6330ecf..5aea8ebef 100644 --- a/src/pair_zbl.h +++ b/src/pair_zbl.h @@ -1,84 +1,84 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef PAIR_CLASS PairStyle(zbl,PairZBL) #else #ifndef LMP_PAIR_ZBL_H #define LMP_PAIR_ZBL_H #include "pair.h" namespace LAMMPS_NS { class PairZBL : public Pair { public: PairZBL(class LAMMPS *); virtual ~PairZBL(); virtual void compute(int, int); void settings(int, char **); void coeff(int, char **); void init_style(); double init_one(int, int); double single(int, int, int, int, double, double, double, double &); protected: double cut_global, cut_inner; double cut_globalsq, cut_innersq; double *z; double **d1a,**d2a,**d3a,**d4a,**zze; double **sw1,**sw2,**sw3,**sw4,**sw5; void allocate(); double e_zbl(double, int, int); double dzbldr(double, int, int); double d2zbldr2(double, int, int); }; namespace PairZBLConstants { // ZBL constants static const double pzbl = 0.23; static const double a0 = 0.46850; static const double c1 = 0.02817; static const double c2 = 0.28022; static const double c3 = 0.50986; static const double c4 = 0.18175; static const double d1 = 0.20162; static const double d2 = 0.40290; static const double d3 = 0.94229; static const double d4 = 3.19980; } } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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 Self-explanatory. Check the input script or data file. */ diff --git a/src/pointers.h b/src/pointers.h index 981b5ccd8..b77d9c49b 100644 --- a/src/pointers.h +++ b/src/pointers.h @@ -1,87 +1,87 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ // Pointers class contains ptrs to master copy of // fundamental LAMMPS class ptrs stored in lammps.h // every LAMMPS class inherits from Pointers to access lammps.h ptrs // these variables are auto-initialized by Pointer class constructor // *& variables are really pointers to the pointers in lammps.h // & enables them to be accessed directly in any class, e.g. atom->x #ifndef LMP_POINTERS_H #define LMP_POINTERS_H #include "lmptype.h" #include "mpi.h" #include "lammps.h" namespace LAMMPS_NS { // universal defines inside namespace #define FLERR __FILE__,__LINE__ #define MIN(A,B) ((A) < (B) ? (A) : (B)) #define MAX(A,B) ((A) > (B) ? (A) : (B)) class Pointers { public: Pointers(LAMMPS *ptr) : lmp(ptr), memory(ptr->memory), error(ptr->error), universe(ptr->universe), input(ptr->input), atom(ptr->atom), update(ptr->update), neighbor(ptr->neighbor), comm(ptr->comm), domain(ptr->domain), force(ptr->force), modify(ptr->modify), group(ptr->group), output(ptr->output), timer(ptr->timer), world(ptr->world), infile(ptr->infile), screen(ptr->screen), logfile(ptr->logfile) {} virtual ~Pointers() {} protected: LAMMPS *lmp; Memory *&memory; Error *&error; Universe *&universe; Input *&input; Atom *&atom; Update *&update; Neighbor *&neighbor; Comm *&comm; Domain *&domain; Force *&force; Modify *&modify; Group *&group; Output *&output; Timer *&timer; MPI_Comm &world; FILE *&infile; FILE *&screen; FILE *&logfile; }; } #endif diff --git a/src/procmap.h b/src/procmap.h index c7e3c02fb..9d83d359d 100644 --- a/src/procmap.h +++ b/src/procmap.h @@ -1,100 +1,100 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_PROCMAP_H #define LMP_PROCMAP_H #include "pointers.h" namespace LAMMPS_NS { class ProcMap : protected Pointers { public: ProcMap(class LAMMPS *); ~ProcMap() {} void onelevel_grid(int, int *, int *, int, int, int *, int *); void twolevel_grid(int, int *, int *, int, int *, int *, int, int, int *, int *); void numa_grid(int, int *, int *, int *); void custom_grid(char *, int, int *, int *); void cart_map(int, int *, int *, int [3][2], int ***); void cart_map(int, int *, int, int *, int *, int [3][2], int ***); void xyz_map(char *, int *, int *, int [3][2], int ***); void xyz_map(char *, int *, int, int *, int *, int [3][2], int ***); void numa_map(int, int *, int *, int [3][2], int ***); void custom_map(int *, int *, int [3][2], int ***); void output(char *, int *, int ***); private: int procs_per_node; // NUMA params int procs_per_numa; int node_id; // which node I am in int nodegrid[3]; // 3d grid of nodes int **cmap; // info in custom grid file int factor(int, int **); int combine_factors(int, int **, int, int **, int **); int cull_2d(int, int **, int); int cull_user(int, int **, int, int *); int cull_other(int, int **, int, int, int *, int *); int best_factors(int, int **, int *, int, int, int); void grid_shift(int, int, int &, int &); }; } #endif /* ERROR/WARNING messages: E: Could not create 3d grid of processors The specified constraints did not allow a Px by Py by Pz grid to be created where Px * Py * Pz = P = total number of processors. E: Processors twogrid requires proc count be a multiple of core count Self-explanatory. E: Could not create twolevel 3d grid of processors The specified constraints did not allow this style of grid to be created. E: Could not create numa grid of processors The specified constraints did not allow this style of grid to be created. Usually this is because the total processor count is not a multiple of the cores/node or the user specified processor count is > 1 in one of the dimensions. E: Cannot open custom file Self-explanatory. E: Unexpected end of custom file Self-explanatory. E: Processors custom grid file is inconsistent The vales in the custom file are not consistent with the number of processors you are running on or the Px,Py,Pz settings of the processors command. Or there was not a setting for every processor. E: Cannot open processors output file Self-explanatory. */ diff --git a/src/random_mars.h b/src/random_mars.h index d3f6fa188..92d0bf3f8 100644 --- a/src/random_mars.h +++ b/src/random_mars.h @@ -1,47 +1,47 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_RANMARS_H #define LMP_RANMARS_H #include "pointers.h" namespace LAMMPS_NS { class RanMars : protected Pointers { public: RanMars(class LAMMPS *, int); ~RanMars(); double uniform(); double gaussian(); private: int save; double second; double *u; int i97,j97; double c,cd,cm; }; } #endif /* ERROR/WARNING messages: E: Invalid seed for Marsaglia random # generator The initial seed for this random number generator must be a positive integer less than or equal to 900 million. */ diff --git a/src/random_park.h b/src/random_park.h index d43fbe10b..2f300db08 100644 --- a/src/random_park.h +++ b/src/random_park.h @@ -1,47 +1,47 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_RANPARK_H #define LMP_RANPARK_H #include "pointers.h" namespace LAMMPS_NS { class RanPark : protected Pointers { friend class Set; public: RanPark(class LAMMPS *, int); double uniform(); double gaussian(); void reset(int); void reset(int, double *); int state(); private: int seed,save; double second; }; } #endif /* ERROR/WARNING messages: E: Invalid seed for Park random # generator The initial seed for this random number generator must be a positive integer. */ diff --git a/src/rcb.h b/src/rcb.h index 4c2e3809e..345e0c6bb 100644 --- a/src/rcb.h +++ b/src/rcb.h @@ -1,131 +1,131 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LAMMPS_RCB_H #define LAMMPS_RCB_H #include "mpi.h" #include "pointers.h" namespace LAMMPS_NS { class RCB : protected Pointers { public: // set by compute() int noriginal; // # of dots I own before balancing int nfinal; // # of dots I own after balancing int nkeep; // how many dots of noriginal I still own // will be first nkept of nfinal list int *recvproc; // proc IDs of nfinal dots int *recvindex; // index of nfinal dots on owning procs // based on input list for compute() double *lo,*hi; // final bounding box of my RCB sub-domain double cut; // single cut (in Tree) owned by this proc int cutdim; // dimension (0,1,2) of the cut // set by invert() int *sendproc; // proc to send each of my noriginal dots to int *sendindex; // index of dot in receiver's nfinal list RCB(class LAMMPS *); ~RCB(); void compute(int, int, double **, double *, double *, double *); void invert(int sortflag = 0); bigint memory_usage(); // DEBUG methods //void check(); //void stats(int); // RCB cut info struct Median { double totallo,totalhi; // weight in each half of active partition double valuelo,valuehi; // position of dot(s) nearest to cut double wtlo,wthi; // total weight of dot(s) at that position int countlo,counthi; // # of dots at that position int proclo,prochi; // unique proc who owns a nearest dot }; struct BBox { double lo[3],hi[3]; // corner points of a bounding box }; private: int me,nprocs; // point to balance on struct Dot { double x[3]; // coord of point double wt; // weight of point int proc; // owning proc int index; // index on owning proc }; // tree of RCB cuts struct Tree { double cut; // position of cut int dim; // dimension = 0/1/2 of cut }; // inversion message struct Invert { int rindex; // index on receiving proc int sproc; // sending proc int sindex; // index on sending proc }; Dot *dots; // dots on this proc int ndot; // # of dots on this proc int maxdot; // allocated size of dots int ndotorig; int nlist; int maxlist; int *dotlist; int *dotmark; int maxbuf; Dot *buf; int maxrecv,maxsend; BBox bbox; class Irregular *irregular; MPI_Op box_op,med_op; MPI_Datatype box_type,med_type; int reuse; // 1/0 to use/not use previous cuts int dottop; // dots >= this index are new double bboxlo[3]; // bounding box of final RCB sub-domain double bboxhi[3]; Tree *tree; // tree of RCB cuts, used by reuse() int counters[7]; // diagnostic counts // 0 = # of median iterations // 1 = # of points sent // 2 = # of points received // 3 = most points this proc ever owns // 4 = most point memory this proc ever allocs // 5 = # of times a previous cut is re-used // 6 = # of reallocs of point vector }; } #endif diff --git a/src/read_restart.h b/src/read_restart.h index d764d2d40..bf6a79325 100644 --- a/src/read_restart.h +++ b/src/read_restart.h @@ -1,219 +1,219 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMMAND_CLASS CommandStyle(read_restart,ReadRestart) #else #ifndef LMP_READ_RESTART_H #define LMP_READ_RESTART_H #include "stdio.h" #include "pointers.h" namespace LAMMPS_NS { class ReadRestart : protected Pointers { public: ReadRestart(class LAMMPS *); void command(int, char **); private: int me,nprocs,nprocs_file,multiproc_file; FILE *fp; int nfix_restart_global,nfix_restart_peratom; int multiproc; // 0 = proc 0 writes for all // else # of procs writing files // MPI-IO values int mpiioflag; // 1 for MPIIO output, else 0 class RestartMPIIO *mpiio; // MPIIO for restart file input int numChunksAssigned; bigint assignedChunkSize; MPI_Offset assignedChunkOffset,headerOffset; void file_search(char *, char *); void header(int); void type_arrays(); void force_fields(); void magic_string(); void endian(); int version_numeric(); void file_layout(); int read_int(); bigint read_bigint(); double read_double(); char *read_string(); void read_int_vec(int, int *); void read_double_vec(int, double *); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot read_restart after simulation box is defined The read_restart command cannot be used after a read_data, read_restart, or create_box command. E: Read restart MPI-IO input not allowed with % in filename This is because a % signifies one file per processor and MPI-IO creates one large file for all processors. E: Reading from MPI-IO filename when MPIIO package is not installed Self-explanatory. E: Cannot open restart file %s Self-explanatory. E: Invalid flag in peratom section of restart file The format of this section of the file is not correct. E: Did not assign all atoms correctly Atoms read in from a data file were not assigned correctly to processors. This is likely due to some atom coordinates being outside a non-periodic simulation box. E: Cannot open dir to search for restart file Using a "*" in the name of the restart file will open the current directory to search for matching file names. E: Found no restart file matching pattern When using a "*" in the restart file name, no matching file was found. E: Restart file incompatible with current version This is probably because you are trying to read a file created with a version of LAMMPS that is too old compared to the current version. Use your older version of LAMMPS and convert the restart file to a data file. E: Smallint setting in lmptype.h is not compatible Smallint stored in restart file is not consistent with LAMMPS version you are running. E: Imageint setting in lmptype.h is not compatible Format of imageint stored in restart file is not consistent with LAMMPS version you are running. See the settings in src/lmptype.h E: Tagint setting in lmptype.h is not compatible Format of tagint stored in restart file is not consistent with LAMMPS version you are running. See the settings in src/lmptype.h E: Bigint setting in lmptype.h is not compatible Format of bigint stored in restart file is not consistent with LAMMPS version you are running. See the settings in src/lmptype.h E: Cannot run 2d simulation with nonperiodic Z dimension Use the boundary command to make the z dimension periodic in order to run a 2d simulation. W: Restart file used different # of processors The restart file was written out by a LAMMPS simulation running on a different number of processors. Due to round-off, the trajectories of your restarted simulation may diverge a little more quickly than if you ran on the same # of processors. W: Restart file used different 3d processor grid The restart file was written out by a LAMMPS simulation running on a different 3d grid of processors. Due to round-off, the trajectories of your restarted simulation may diverge a little more quickly than if you ran on the same # of processors. W: Restart file used different newton pair setting, using input script value The input script value will override the setting in the restart file. W: Restart file used different newton bond setting, using restart file value The restart file value will override the setting in the input script. W: Restart file used different boundary settings, using restart file values Your input script cannot change these restart file settings. E: Invalid flag in header section of restart file Unrecognized entry in restart file. E: Invalid flag in type arrays section of restart file Unrecognized entry in restart file. E: Invalid flag in force field section of restart file Unrecognized entry in restart file. E: Restart file is not a multi-proc file The file is inconsistent with the filename you specified for it. E: Restart file is a multi-proc file The file is inconsistent with the filename you specified for it. E: Restart file is a MPI-IO file The file is inconsistent with the filename you specified for it. E: Restart file is not a MPI-IO file The file is inconsistent with the filename you specified for it. E: Invalid LAMMPS restart file The file does not appear to be a LAMMPS restart file since it doesn't contain the correct magic string at the beginning. E: Restart file byte ordering is swapped The file was written on a machine with different byte-ordering than the machine you are reading it on. Convert it to a text data file instead, on the machine you wrote it on. E: Restart file byte ordering is not recognized The file does not appear to be a LAMMPS restart file since it doesn't contain a recognized byte-orderomg flag at the beginning. */ diff --git a/src/reader_native.h b/src/reader_native.h index 066ae1c92..ab99469aa 100644 --- a/src/reader_native.h +++ b/src/reader_native.h @@ -1,66 +1,66 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. Contributed by Timothy Sirk ------------------------------------------------------------------------- */ #ifdef READER_CLASS ReaderStyle(native,ReaderNative) #else #ifndef LMP_READER_NATIVE_H #define LMP_READER_NATIVE_H #include "reader.h" namespace LAMMPS_NS { class ReaderNative : public Reader { public: ReaderNative(class LAMMPS *); ~ReaderNative(); int read_time(bigint &); void skip(); bigint read_header(double [3][3], int &, int, int, int *, char **, int, int, int &, int &, int &, int &); void read_atoms(int, int, double **); private: char *line; // line read from dump file int nwords; // # of per-atom columns in dump file char **words; // ptrs to values in parsed per-atom line int *fieldindex; // int find_label(const char *, int, char **); void read_lines(int); }; } #endif #endif /* ERROR/WARNING messages: E: Dump file is incorrectly formatted Self-explanatory. E: Unexpected end of dump file A read operation from the file failed. */ diff --git a/src/region.h b/src/region.h index f9f1841f3..b68cb74cd 100644 --- a/src/region.h +++ b/src/region.h @@ -1,111 +1,111 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_REGION_H #define LMP_REGION_H #include "pointers.h" namespace LAMMPS_NS { class Region : protected Pointers { public: char *id,*style; int interior; // 1 for interior, 0 for exterior int scaleflag; // 1 for lattice, 0 for box double xscale,yscale,zscale; // scale factors for box/lattice units double extent_xlo,extent_xhi; // bounding box on region double extent_ylo,extent_yhi; double extent_zlo,extent_zhi; int bboxflag; // 1 if bounding box is computable int varshape; // 1 if region shape changes over time // contact = particle near region surface struct Contact { double r; // distance between particle & surf, r > 0.0 double delx,dely,delz; // vector from surface pt to particle }; Contact *contact; // list of contacts int cmax; // max # of contacts possible with region Region(class LAMMPS *, int, char **); virtual ~Region(); virtual void init(); virtual int dynamic_check(); // called by other classes to check point versus region void prematch(); int match(double, double, double); int surface(double, double, double, double); // implemented by each region, not called by other classes virtual int inside(double, double, double) = 0; virtual int surface_interior(double *, double) = 0; virtual int surface_exterior(double *, double) = 0; virtual void shape_update() {} protected: void add_contact(int, double *, double, double, double); void options(int, char **); private: int dynamic; // 1 if region position/orientation changes over time int moveflag,rotateflag; // 1 if position/orientation changes double point[3],axis[3],runit[3]; char *xstr,*ystr,*zstr,*tstr; int xvar,yvar,zvar,tvar; double dx,dy,dz,theta; void pretransform(); void forward_transform(double &, double &, double &); void inverse_transform(double &, double &, double &); void rotate(double &, double &, double &, double); }; } #endif /* ERROR/WARNING messages: E: Variable name for region does not exist Self-explanatory. E: Variable for region is invalid style Only equal-style variables can be used. E: Variable for region is not equal style Self-explanatory. E: Illegal ... command 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: Region union or intersect cannot be dynamic The sub-regions can be dynamic, but not the combined region. E: Region cannot have 0 length rotation vector Self-explanatory. */ diff --git a/src/region_block.h b/src/region_block.h index 1d1c065e6..472c4460f 100644 --- a/src/region_block.h +++ b/src/region_block.h @@ -1,59 +1,59 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef REGION_CLASS RegionStyle(block,RegBlock) #else #ifndef LMP_REGION_BLOCK_H #define LMP_REGION_BLOCK_H #include "region.h" namespace LAMMPS_NS { class RegBlock : public Region { friend class FixPour; public: RegBlock(class LAMMPS *, int, char **); ~RegBlock(); int inside(double, double, double); int surface_interior(double *, double); int surface_exterior(double *, double); private: double xlo,xhi,ylo,yhi,zlo,zhi; }; } #endif #endif /* ERROR/WARNING messages: E: Cannot use region INF or EDGE when box does not exist Regions that extend to the box boundaries can only be used after the create_box command has been used. E: Illegal ... command 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. */ diff --git a/src/region_cone.h b/src/region_cone.h index 30f9c38fb..0f6ac71de 100644 --- a/src/region_cone.h +++ b/src/region_cone.h @@ -1,67 +1,67 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef REGION_CLASS RegionStyle(cone,RegCone) #else #ifndef LMP_REGION_CONE_H #define LMP_REGION_CONE_H #include "region.h" namespace LAMMPS_NS { class RegCone : public Region { public: RegCone(class LAMMPS *, int, char **); ~RegCone(); int inside(double, double, double); int surface_interior(double *, double); int surface_exterior(double *, double); private: char axis; double c1,c2; double radiuslo,radiushi; double lo,hi; double maxradius; void point_on_line_segment(double *, double *, double *, double *); double closest(double *, double *, double *, double); void subtract(double *, double *, double *); double dotproduct(double *, double *); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot use region INF or EDGE when box does not exist Regions that extend to the box boundaries can only be used after the create_box command has been used. */ diff --git a/src/region_cylinder.h b/src/region_cylinder.h index 67dcfc3a9..247d939c4 100644 --- a/src/region_cylinder.h +++ b/src/region_cylinder.h @@ -1,81 +1,81 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef REGION_CLASS RegionStyle(cylinder,RegCylinder) #else #ifndef LMP_REGION_CYLINDER_H #define LMP_REGION_CYLINDER_H #include "region.h" namespace LAMMPS_NS { class RegCylinder : public Region { friend class FixPour; public: RegCylinder(class LAMMPS *, int, char **); ~RegCylinder(); void init(); int inside(double, double, double); int surface_interior(double *, double); int surface_exterior(double *, double); void shape_update(); private: char axis; double c1,c2; double radius; double lo,hi; int rstyle,rvar; char *rstr; void variable_check(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Cannot use region INF or EDGE when box does not exist Regions that extend to the box boundaries can only be used after the create_box command has been used. E: Variable evaluation in region gave bad value Variable returned a radius < 0.0. E: Variable name for region cylinder does not exist Self-explanatory. E: Variable for region cylinder is invalid style Only equal-style varaibles are allowed. */ diff --git a/src/region_intersect.h b/src/region_intersect.h index 04ab9b28a..236c8d57b 100644 --- a/src/region_intersect.h +++ b/src/region_intersect.h @@ -1,66 +1,66 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef REGION_CLASS RegionStyle(intersect,RegIntersect) #else #ifndef LMP_REGION_INTERSECT_H #define LMP_REGION_INTERSECT_H #include "region.h" namespace LAMMPS_NS { class RegIntersect : public Region { public: RegIntersect(class LAMMPS *, int, char **); ~RegIntersect(); void init(); int dynamic_check(); int inside(double, double, double); int surface_interior(double *, double); int surface_exterior(double *, double); void shape_update(); private: int nregion; int *list; char **idsub; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Region intersect region ID does not exist Self-explanatory. E: Region union region ID does not exist One or more of the region IDs specified by the region union command does not exist. */ diff --git a/src/region_plane.h b/src/region_plane.h index a3445f2aa..96b37133d 100644 --- a/src/region_plane.h +++ b/src/region_plane.h @@ -1,53 +1,53 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef REGION_CLASS RegionStyle(plane,RegPlane) #else #ifndef LMP_REGION_PLANE_H #define LMP_REGION_PLANE_H #include "region.h" namespace LAMMPS_NS { class RegPlane : public Region { public: RegPlane(class LAMMPS *, int, char **); ~RegPlane(); int inside(double, double, double); int surface_interior(double *, double); int surface_exterior(double *, double); private: double xp,yp,zp; double normal[3]; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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. */ diff --git a/src/region_prism.h b/src/region_prism.h index b4ceb0e9b..fefe20ce8 100644 --- a/src/region_prism.h +++ b/src/region_prism.h @@ -1,77 +1,77 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef REGION_CLASS RegionStyle(prism,RegPrism) #else #ifndef LMP_REGION_PRISM_H #define LMP_REGION_PRISM_H #include "region.h" namespace LAMMPS_NS { class RegPrism : public Region { friend class CreateBox; public: RegPrism(class LAMMPS *, int, char **); ~RegPrism(); int inside(double, double, double); int surface_interior(double *, double); int surface_exterior(double *, double); private: double xlo,xhi,ylo,yhi,zlo,zhi; double xy,xz,yz; double h[3][3],hinv[3][3]; int dimension; double a[3],b[3],c[3]; // edge vectors of region double clo[3],chi[3]; // opposite corners of prism double face[6][3]; // unit normals of 6 prism faces double corners[8][3]; // 8 corner pts of prism int tri[12][3]; // 3 corner pts of 12 triangles (2 per face) void find_nearest(double *, double &, double &, double &); int inside_tri(double *, double *, double *, double *, double *); void point_on_line_segment(double *, double *, double *, double *); double closest(double *, double *, double *, double); void subtract(double *, double *, double *); void cross(double *, double *, double *); double dotproduct(double *, double *); void normalize(double *); }; } #endif #endif /* ERROR/WARNING messages: E: Cannot use region INF or EDGE when box does not exist Regions that extend to the box boundaries can only be used after the create_box command has been used. E: Illegal ... command 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. */ diff --git a/src/region_sphere.h b/src/region_sphere.h index a9a6accaf..283493fb3 100644 --- a/src/region_sphere.h +++ b/src/region_sphere.h @@ -1,71 +1,71 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef REGION_CLASS RegionStyle(sphere,RegSphere) #else #ifndef LMP_REGION_SPHERE_H #define LMP_REGION_SPHERE_H #include "region.h" namespace LAMMPS_NS { class RegSphere : public Region { public: RegSphere(class LAMMPS *, int, char **); ~RegSphere(); void init(); int inside(double, double, double); int surface_interior(double *, double); int surface_exterior(double *, double); void shape_update(); private: double xc,yc,zc; double radius; int rstyle,rvar; char *rstr; void variable_check(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Variable evaluation in region gave bad value Variable returned a radius < 0.0. E: Variable name for region sphere does not exist Self-explanatory. E: Variable for region sphere is invalid style Only equal-style varaibles are allowed. */ diff --git a/src/region_union.h b/src/region_union.h index 664d9f339..dc7e99a69 100644 --- a/src/region_union.h +++ b/src/region_union.h @@ -1,62 +1,62 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef REGION_CLASS RegionStyle(union,RegUnion) #else #ifndef LMP_REGION_UNION_H #define LMP_REGION_UNION_H #include "region.h" namespace LAMMPS_NS { class RegUnion : public Region { public: RegUnion(class LAMMPS *, int, char **); ~RegUnion(); void init(); int dynamic_check(); int inside(double, double, double); int surface_interior(double *, double); int surface_exterior(double *, double); void shape_update(); private: int nregion; int *list; char **idsub; }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Region union region ID does not exist One or more of the region IDs specified by the region union command does not exist. */ diff --git a/src/replicate.h b/src/replicate.h index 6769ffbee..58c0010aa 100644 --- a/src/replicate.h +++ b/src/replicate.h @@ -1,83 +1,83 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMMAND_CLASS CommandStyle(replicate,Replicate) #else #ifndef LMP_REPLICATE_H #define LMP_REPLICATE_H #include "pointers.h" namespace LAMMPS_NS { class Replicate : protected Pointers { public: Replicate(class LAMMPS *); void command(int, char **); }; } #endif #endif /* ERROR/WARNING messages: E: Replicate command before simulation box is defined The replicate command cannot be used before a read_data, read_restart, or create_box command. E: Illegal ... command 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: Cannot replicate 2d simulation in z dimension The replicate command cannot replicate a 2d simulation in the z dimension. W: Replicating in a non-periodic dimension The parameters for a replicate command will cause a non-periodic dimension to be replicated; this may cause unwanted behavior. E: Cannot replicate with fixes that store atom quantities Either fixes are defined that create and store atom-based vectors or a restart file was read which included atom-based vectors for fixes. The replicate command cannot duplicate that information for new atoms. You should use the replicate command before fixes are applied to the system. E: Replicated system atom IDs are too big See the setting for tagint in the src/lmptype.h file. E: Replicated system is too big See the setting for bigint in the src/lmptype.h file. E: Replicate did not assign all atoms correctly Atoms replicated by the replicate command were not assigned correctly to processors. This is likely due to some atom coordinates being outside a non-periodic simulation box. */ diff --git a/src/rerun.h b/src/rerun.h index 852811c07..c3b556855 100644 --- a/src/rerun.h +++ b/src/rerun.h @@ -1,55 +1,55 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMMAND_CLASS CommandStyle(rerun,Rerun) #else #ifndef LMP_RERUN_H #define LMP_RERUN_H #include "pointers.h" namespace LAMMPS_NS { class Rerun : protected Pointers { public: Rerun(class LAMMPS *); void command(int, char **); }; } #endif #endif /* ERROR/WARNING messages: E: Rerun command before simulation box is defined The rerun command cannot be used before a read_data, read_restart, or create_box command. E: Illegal ... command 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: Rerun dump file does not contain requested snapshot Self-explanatory. */ diff --git a/src/run.h b/src/run.h index 00a24d499..5f6accbfa 100644 --- a/src/run.h +++ b/src/run.h @@ -1,76 +1,76 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMMAND_CLASS CommandStyle(run,Run) #else #ifndef LMP_RUN_H #define LMP_RUN_H #include "pointers.h" namespace LAMMPS_NS { class Run : protected Pointers { public: Run(class LAMMPS *); void command(int, char **); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Run command before simulation box is defined The run command cannot be used before a read_data, read_restart, or create_box command. E: Invalid run command N value The number of timesteps must fit in a 32-bit integer. If you want to run for more steps than this, perform multiple shorter runs. E: Invalid run command upto value Self-explanatory. E: Invalid run command start/stop value Self-explanatory. E: Run command start value is after start of run Self-explanatory. E: Run command stop value is before end of run Self-explanatory. E: Too many timesteps The cummulative timesteps must fit in a 64-bit integer. */ diff --git a/src/set.h b/src/set.h index 27c14e9cc..0c86103ba 100644 --- a/src/set.h +++ b/src/set.h @@ -1,190 +1,190 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMMAND_CLASS CommandStyle(set,Set) #else #ifndef LMP_SET_H #define LMP_SET_H #include "pointers.h" namespace LAMMPS_NS { class Set : protected Pointers { public: Set(class LAMMPS *lmp) : Pointers(lmp) {}; void command(int, char **); private: char *id; int *select; int style,ivalue,newtype,count,index_custom; int ximage,yimage,zimage,ximageflag,yimageflag,zimageflag; double dvalue,xvalue,yvalue,zvalue,wvalue,fraction; int varflag,varflag1,varflag2,varflag3,varflag4; int ivar1,ivar2,ivar3,ivar4; double *vec1,*vec2,*vec3,*vec4; void selection(int); void set(int); void setrandom(int); void topology(int); void varparse(char *, int); }; } #endif #endif /* ERROR/WARNING messages: E: Set command before simulation box is defined The set command cannot be used before a read_data, read_restart, or create_box command. E: Set command with no atoms existing No atoms are yet defined so the set command cannot be used. E: Illegal ... command 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: Invalid value in set command The value specified for the setting is invalid, likely because it is too small or too large. E: Invalid random number seed in set command Random number seed must be > 0. E: Cannot set this attribute for this atom style The attribute being set does not exist for the defined atom style. E: Invalid dipole length in set command Self-explanatory. E: Invalid density in set command Density must be > 0.0. E: Invalid volume in set command Volume must be > 0.0. E: Cannot set non-zero image flag for non-periodic dimension Self-explanatory. E: Cannot set meso_rho for this atom style Self-explanatory. E: Set command integer vector does not exist Self-explanatory. E: Set command floating point vector does not exist Self-explanatory. E: Cannot use set atom with no atom IDs defined Atom IDs are not defined, so they cannot be used to identify an atom. E: Cannot use set mol with no molecule IDs defined Self-explanatory. E: Could not find set group ID Group ID specified in set command does not exist. E: Set region ID does not exist Region ID specified in set command does not exist. E: Invalid mass in set command Self-explanatory. E: Invalid diameter in set command Self-explanatory. E: Invalid shape in set command Self-explanatory. E: Invalid length in set command Self-explanatory. E: Cannot set quaternion for atom that has none Self-explanatory. E: Cannot set theta for atom that is not a line Self-explanatory. E: Cannot set bond topology types for atom style template The bond, angle, etc types cannot be changed for this atom style since they are static settings in the molecule template files. E: Bond atom missing in set command The set command cannot find one or more atoms in a particular bond on a particular processor. The pairwise cutoff is too short or the atoms are too far apart to make a valid bond. E: Angle atom missing in set command The set command cannot find one or more atoms in a particular angle on a particular processor. The pairwise cutoff is too short or the atoms are too far apart to make a valid angle. E: Dihedral atom missing in set command The set command cannot find one or more atoms in a particular dihedral on a particular processor. The pairwise cutoff is too short or the atoms are too far apart to make a valid dihedral. E: Improper atom missing in set command The set command cannot find one or more atoms in a particular improper on a particular processor. The pairwise cutoff is too short or the atoms are too far apart to make a valid improper. E: Variable name for set command does not exist Self-explanatory. E: Variable for set command is invalid style Only atom-style variables can be used. */ diff --git a/src/special.h b/src/special.h index 71988724a..987ca490e 100644 --- a/src/special.h +++ b/src/special.h @@ -1,73 +1,73 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_SPECIAL_H #define LMP_SPECIAL_H #include "pointers.h" namespace LAMMPS_NS { class Special : protected Pointers { public: Special(class LAMMPS *); ~Special(); void build(); private: int me,nprocs; tagint **onetwo,**onethree,**onefour; // data used by ring callback methods int *count; int **dflag; void dedup(); void angle_trim(); void dihedral_trim(); void combine(); // static variable for ring communication callback to access class data // callback functions for ring communication static Special *sptr; static void ring_one(int, char *); static void ring_two(int, char *); static void ring_three(int, char *); static void ring_four(int, char *); static void ring_five(int, char *); static void ring_six(int, char *); static void ring_seven(int, char *); static void ring_eight(int, char *); }; } #endif /* ERROR/WARNING messages: E: 1-3 bond count is inconsistent An inconsistency was detected when computing the number of 1-3 neighbors for each atom. This likely means something is wrong with the bond topologies you have defined. E: 1-4 bond count is inconsistent An inconsistency was detected when computing the number of 1-4 neighbors for each atom. This likely means something is wrong with the bond topologies you have defined. */ diff --git a/src/suffix.h b/src/suffix.h index 43493d620..4ae80af89 100644 --- a/src/suffix.h +++ b/src/suffix.h @@ -1,30 +1,30 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_SUFFIX_H #define LMP_SUFFIX_H namespace LAMMPS_NS { namespace Suffix { static const int NONE = 0; static const int OPT = 1<<0; static const int GPU = 1<<1; static const int CUDA = 1<<2; static const int OMP = 1<<3; static const int INTEL = 1<<4; } } #endif diff --git a/src/thermo.h b/src/thermo.h index 154800d14..17810932f 100644 --- a/src/thermo.h +++ b/src/thermo.h @@ -1,396 +1,396 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_THERMO_H #define LMP_THERMO_H #include "pointers.h" namespace LAMMPS_NS { class Thermo : protected Pointers { friend class MinCG; // accesses compute_pe public: char *style; int normflag; // 0 if do not normalize by atoms, 1 if normalize int modified; // 1 if thermo_modify has been used, else 0 int cudable; // 1 if all computes used are cudable int lostflag; // IGNORE,WARN,ERROR int lostbond; // ditto for atoms in bonds Thermo(class LAMMPS *, int, char **); ~Thermo(); void init(); bigint lost_check(); void modify_params(int, char **); void header(); void compute(int); int evaluate_keyword(char *, double *); private: char *line; char **keyword; int *vtype; int nfield,nfield_initial; int me; char **format,**format_user; char *format_float_one_def,*format_float_multi_def; char *format_int_one_def,*format_int_multi_def; char *format_float_user,*format_int_user,*format_bigint_user; char format_multi[128]; char format_bigint_one_def[8],format_bigint_multi_def[8]; int normvalue; // use this for normflag unless natoms = 0 int normuserflag; // 0 if user has not set, 1 if has int normuser; int firststep; int lostbefore; int flushflag,lineflag; double last_tpcpu,last_spcpu; double last_time; bigint last_step; bigint natoms; // data used by routines that compute single values int ivalue; // integer value to print double dvalue; // double value to print bigint bivalue; // big integer value to print int ifield; // which field in thermo output is being computed int *field2index; // which compute,fix,variable calcs this field int *argindex1; // indices into compute,fix scalar,vector int *argindex2; // data for keyword-specific Compute objects // index = where they are in computes list // id = ID of Compute objects // Compute * = ptrs to the Compute objects int index_temp,index_press_scalar,index_press_vector,index_pe; char *id_temp,*id_press,*id_pe; class Compute *temperature,*pressure,*pe; int ncompute; // # of Compute objects called by thermo char **id_compute; // their IDs int *compute_which; // 0/1/2 if should call scalar,vector,array class Compute **computes; // list of ptrs to the Compute objects int nfix; // # of Fix objects called by thermo char **id_fix; // their IDs class Fix **fixes; // list of ptrs to the Fix objects int nvariable; // # of variables evaulated by thermo char **id_variable; // list of variable names int *variables; // list of Variable indices // private methods void allocate(); void deallocate(); void parse_fields(char *); int add_compute(const char *, int); int add_fix(const char *); int add_variable(const char *); typedef void (Thermo::*FnPtr)(); void addfield(const char *, FnPtr, int); FnPtr *vfunc; // list of ptrs to functions void compute_compute(); // functions that compute a single value void compute_fix(); // via calls to Compute,Fix,Variable classes void compute_variable(); // functions that compute a single value // customize a new keyword by adding a method prototype void compute_step(); void compute_elapsed(); void compute_elapsed_long(); void compute_dt(); void compute_time(); void compute_cpu(); void compute_tpcpu(); void compute_spcpu(); void compute_cpuremain(); void compute_part(); void compute_atoms(); void compute_temp(); void compute_press(); void compute_pe(); void compute_ke(); void compute_etotal(); void compute_enthalpy(); void compute_evdwl(); void compute_ecoul(); void compute_epair(); void compute_ebond(); void compute_eangle(); void compute_edihed(); void compute_eimp(); void compute_emol(); void compute_elong(); void compute_etail(); void compute_vol(); void compute_density(); void compute_lx(); void compute_ly(); void compute_lz(); void compute_xlo(); void compute_xhi(); void compute_ylo(); void compute_yhi(); void compute_zlo(); void compute_zhi(); void compute_xy(); void compute_xz(); void compute_yz(); void compute_xlat(); void compute_ylat(); void compute_zlat(); void compute_bonds(); void compute_angles(); void compute_dihedrals(); void compute_impropers(); void compute_pxx(); void compute_pyy(); void compute_pzz(); void compute_pxy(); void compute_pyz(); void compute_pxz(); void compute_fmax(); void compute_fnorm(); void compute_nbuild(); void compute_ndanger(); void compute_cella(); void compute_cellb(); void compute_cellc(); void compute_cellalpha(); void compute_cellbeta(); void compute_cellgamma(); }; } #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Could not find thermo compute ID Compute ID specified in thermo_style command does not exist. E: Could not find thermo fix ID Fix ID specified in thermo_style command does not exist. E: Thermo and fix not computed at compatible times Fixes generate values on specific timesteps. The thermo output does not match these timesteps. E: Could not find thermo variable name Self-explanatory. E: Too many total atoms See the setting for bigint in the src/lmptype.h file. E: Lost atoms: original %ld current %ld Lost atoms are checked for each time thermo output is done. See the thermo_modify lost command for options. Lost atoms usually indicate bad dynamics, e.g. atoms have been blown far out of the simulation box, or moved futher than one processor's sub-domain away before reneighboring. W: Lost atoms: original %ld current %ld Lost atoms are checked for each time thermo output is done. See the thermo_modify lost command for options. Lost atoms usually indicate bad dynamics, e.g. atoms have been blown far out of the simulation box, or moved futher than one processor's sub-domain away before reneighboring. E: Thermo style does not use temp Cannot use thermo_modify to set this parameter since the thermo_style is not computing this quantity. E: Could not find thermo_modify temperature ID The compute ID needed by thermo style custom to compute temperature does not exist. E: Thermo_modify temperature ID does not compute temperature The specified compute ID does not compute temperature. W: Temperature for thermo pressure is not for group all User-assigned temperature to thermo via the thermo_modify command does not compute temperature for all atoms. Since thermo computes a global pressure, the kinetic energy contribution from the temperature is assumed to also be for all atoms. Thus the pressure printed by thermo could be inaccurate. E: Pressure ID for thermo does not exist The compute ID needed to compute pressure for thermodynamics does not exist. E: Thermo style does not use press Cannot use thermo_modify to set this parameter since the thermo_style is not computing this quantity. E: Could not find thermo_modify pressure ID The compute ID needed by thermo style custom to compute pressure does not exist. E: Thermo_modify pressure ID does not compute pressure The specified compute ID does not compute pressure. E: Thermo_modify int format does not contain d character Self-explanatory. E: Could not find thermo custom compute ID The compute ID needed by thermo style custom to compute a requested quantity does not exist. E: Thermo compute does not compute scalar Self-explanatory. E: Thermo compute does not compute vector Self-explanatory. E: Thermo compute vector is accessed out-of-range Self-explanatory. E: Thermo compute does not compute array Self-explanatory. E: Thermo compute array is accessed out-of-range Self-explanatory. E: Could not find thermo custom fix ID The fix ID needed by thermo style custom to compute a requested quantity does not exist. E: Thermo fix does not compute scalar Self-explanatory. E: Thermo fix does not compute vector Self-explanatory. E: Thermo fix vector is accessed out-of-range Self-explanatory. E: Thermo fix does not compute array Self-explanatory. E: Thermo fix array is accessed out-of-range Self-explanatory. E: Could not find thermo custom variable name Self-explanatory. E: Thermo custom variable is not equal-style variable Only equal-style variables can be output with thermodynamics, not atom-style variables. E: Thermo custom variable cannot be indexed Self-explanatory. E: Invalid keyword in thermo_style custom command One or more specified keywords are not recognized. E: This variable thermo keyword cannot be used between runs Keywords that refer to time (such as cpu, elapsed) do not make sense in between runs. E: Thermo keyword in variable requires thermo to use/init temp You are using a thermo keyword in a variable that requires temperature to be calculated, but your thermo output does not use it. Add it to your thermo output. E: Compute used in variable thermo keyword between runs is not current Some thermo keywords rely on a compute to calculate their value(s). Computes cannot be invoked by a variable in between runs. Thus they must have been evaluated on the last timestep of the previous run in order for their value(s) to be accessed. See the doc page for the variable command for more info. E: Thermo keyword in variable requires thermo to use/init press You are using a thermo keyword in a variable that requires pressure to be calculated, but your thermo output does not use it. Add it to your thermo output. E: Thermo keyword in variable requires thermo to use/init pe You are using a thermo keyword in a variable that requires potential energy to be calculated, but your thermo output does not use it. Add it to your thermo output. E: Energy was not tallied on needed timestep You are using a thermo keyword that requires potentials to have tallied energy, but they didn't on this timestep. See the variable doc page for ideas on how to make this work. */ diff --git a/src/timer.h b/src/timer.h index 1c421cb63..d62b764c4 100644 --- a/src/timer.h +++ b/src/timer.h @@ -1,43 +1,43 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_TIMER_H #define LMP_TIMER_H #include "pointers.h" enum{TIME_LOOP,TIME_PAIR,TIME_BOND,TIME_KSPACE,TIME_NEIGHBOR, TIME_COMM,TIME_OUTPUT,TIME_N}; namespace LAMMPS_NS { class Timer : protected Pointers { public: double *array; Timer(class LAMMPS *); ~Timer(); void init(); void stamp(); void stamp(int); void barrier_start(int); void barrier_stop(int); double elapsed(int); private: double previous_time; }; } #endif diff --git a/src/universe.h b/src/universe.h index b99785966..3dbd6f9fc 100644 --- a/src/universe.h +++ b/src/universe.h @@ -1,80 +1,80 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_UNIVERSE_H #define LMP_UNIVERSE_H #include "stdio.h" #include "pointers.h" namespace LAMMPS_NS { class Universe : protected Pointers { public: char *version; // LAMMPS version string = date MPI_Comm uworld; // communicator for entire universe int me,nprocs; // my place in universe FILE *uscreen; // universe screen output FILE *ulogfile; // universe logfile int existflag; // 1 if universe exists due to -partition flag int nworlds; // # of worlds in universe int iworld; // which world I am in int *procs_per_world; // # of procs in each world int *root_proc; // root proc in each world MPI_Comm uorig; // original communicator passed to LAMMPS instance int *uni2orig; // proc I in universe uworld is // proc uni2orig[I] in original communicator Universe(class LAMMPS *, MPI_Comm); ~Universe(); void reorder(char *, char *); void add_world(char *); int consistent(); }; } #endif /* ERROR/WARNING messages: E: Invalid -reorder N value Self-explanatory. E: Nprocs not a multiple of N for -reorder Self-explanatory. E: Cannot open -reorder file Self-explanatory. E: Unexpected end of -reorder file Self-explanatory. E: Invalid entry in -reorder file Self-explanatory. E: Invalid command-line argument One or more command-line arguments is invalid. Check the syntax of the command you are using to launch LAMMPS. */ diff --git a/src/update.h b/src/update.h index 5c6c15bad..38bf1b7db 100644 --- a/src/update.h +++ b/src/update.h @@ -1,108 +1,108 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_UPDATE_H #define LMP_UPDATE_H #include "pointers.h" namespace LAMMPS_NS { class Update : protected Pointers { public: double dt; // timestep double etol,ftol; // minimizer tolerances on energy/force bigint ntimestep; // current step (dynamics or min iterations) int nsteps; // # of steps to run (dynamics or min iter) int whichflag; // 0 for unset, 1 for dynamics, 2 for min double atime; // simulation time at atime_step bigint atimestep; // last timestep atime was updated bigint firststep,laststep; // 1st & last step of this run bigint beginstep,endstep; // 1st and last step of multiple runs int first_update; // 0 before initial update, 1 after int max_eval; // max force evaluations for minimizer int restrict_output; // 1 if output should not write dump/restart int setupflag; // set when setup() is computing forces int multireplica; // 1 if min across replicas, else 0 bigint eflag_global,eflag_atom; // timestep global/peratom eng is tallied on bigint vflag_global,vflag_atom; // ditto for virial char *unit_style; class Integrate *integrate; char *integrate_style; class Min *minimize; char *minimize_style; Update(class LAMMPS *); ~Update(); void init(); void set_units(const char *); void create_integrate(int, char **, int); void create_minimize(int, char **); void reset_timestep(int, char **); void reset_timestep(bigint); void update_time(); bigint memory_usage(); private: void new_integrate(char *, int, char **, int, int &); }; } #endif /* ERROR/WARNING messages: E: USER-CUDA mode requires CUDA variant of run style CUDA mode is enabled, so the run style must include a cuda suffix. E: USER-CUDA mode requires CUDA variant of min style CUDA mode is enabled, so the min style must include a cuda suffix. E: Illegal ... command 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: Illegal integrate style Self-explanatory. E: Timestep must be >= 0 Specified timestep is invalid. E: Too big a timestep Specified timestep is too large. E: Cannot reset timestep with a time-dependent fix defined You cannot reset the timestep when a fix that keeps track of elapsed time is in place. E: Cannot reset timestep with a dynamic region defined Dynamic regions (see the region command) have a time dependence. Thus you cannot change the timestep when one or more of these are defined. */ diff --git a/src/variable.h b/src/variable.h index 4870b5e5d..f04a04f9d 100644 --- a/src/variable.h +++ b/src/variable.h @@ -1,427 +1,427 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifndef LMP_VARIABLE_H #define LMP_VARIABLE_H #include "stdlib.h" #include "pointers.h" namespace LAMMPS_NS { class Variable : protected Pointers { public: Variable(class LAMMPS *); ~Variable(); void set(int, char **); void set(char *, int, char **); int next(int, char **); int find(char *); int equalstyle(int); int atomstyle(int); char *retrieve(char *); double compute_equal(int); double compute_equal(char *); void compute_atom(int, int, double *, int, int); int int_between_brackets(char *&, int); double evaluate_boolean(char *); void equal_save(int, char *&); void equal_restore(int, char *); void equal_override(int, double); unsigned int data_mask(int ivar); unsigned int data_mask(char *str); private: int me; int nvar; // # of defined variables int maxvar; // max # of variables following lists can hold char **names; // name of each variable int *style; // style of each variable int *num; // # of values for each variable int *which; // next available value for each variable int *pad; // 1 = pad loop/uloop variables with 0s, 0 = no pad class VarReader **reader; // variable that reads from file char ***data; // str value of each variable's values int *eval_in_progress; // flag if evaluation of variable is in progress class RanMars *randomequal; // random number generator for equal-style vars class RanMars *randomatom; // random number generator for atom-style vars int precedence[17]; // precedence level of math operators // set length to include up to OR in enum struct Tree { // parse tree for atom-style variables double value; // single scalar double *array; // per-atom or per-type list of doubles int *iarray; // per-atom list of ints bigint *barray; // per-atom list of bigints int type; // operation, see enum{} in variable.cpp int nstride; // stride between atoms if array is a 2d array int selfalloc; // 1 if array is allocated here, else 0 int ivalue1,ivalue2; // extra values for needed for gmask,rmask,grmask Tree *left,*middle,*right; // ptrs further down tree }; void remove(int); void grow(); void copy(int, char **, char **); double evaluate(char *, Tree **); double collapse_tree(Tree *); double eval_tree(Tree *, int); void free_tree(Tree *); int find_matching_paren(char *, int, char *&); int math_function(char *, char *, Tree **, Tree **, int &, double *, int &); int group_function(char *, char *, Tree **, Tree **, int &, double *, int &); int region_function(char *); int special_function(char *, char *, Tree **, Tree **, int &, double *, int &); void peratom2global(int, char *, double *, int, int, Tree **, Tree **, int &, double *, int &); int is_atom_vector(char *); void atom_vector(char *, Tree **, Tree **, int &); int is_constant(char *); double constant(char *); char *find_next_comma(char *); void print_tree(Tree *, int); }; class VarReader : protected Pointers { public: class FixStore *fix; char *id_fix; VarReader(class LAMMPS *, char *, char *, int); ~VarReader(); int read_scalar(char *); int read_peratom(); private: int me,style; FILE *fp; char *buffer; }; } #endif /* ERROR/WARNING messages: E: Illegal ... command 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: World variable count doesn't match # of partitions A world-style variable must specify a number of values equal to the number of processor partitions. E: Universe/uloop variable count < # of partitions A universe or uloop style variable must specify a number of values >= to the number of processor partitions. E: All universe/uloop variables must have same # of values Self-explanatory. E: Cannot redefine variable as a different style An equal-style variable can be re-defined but only if it was originally an equal-style variable. E: File variable could not read value Check the file assigned to the variable. E: Atomfile variable could not read values Check the file assigned to the variable. E: Variable name must be alphanumeric or underscore characters Self-explanatory. E: Invalid variable in next command Self-explanatory. E: All variables in next command must be same style Self-explanatory. E: Invalid variable style with next command Variable styles {equal} and {world} cannot be used in a next command. E: Next command must list all universe and uloop variables This is to insure they stay in sync. E: Invalid syntax in variable formula Self-explanatory. E: Variable evaluation before simulation box is defined Cannot evaluate a compute or fix or atom-based value in a variable before the simulation has been setup. E: Invalid compute ID in variable formula The compute is not recognized. E: Compute used in variable between runs is not current Computes cannot be invoked by a variable in between runs. Thus they must have been evaluated on the last timestep of the previous run in order for their value(s) to be accessed. See the doc page for the variable command for more info. E: Variable formula compute vector is accessed out-of-range Self-explanatory. E: Variable formula compute array is accessed out-of-range Self-explanatory. E: Per-atom compute in equal-style variable formula Equal-style variables cannot use per-atom quantities. E: Mismatched compute in variable formula A compute is referenced incorrectly or a compute that produces per-atom values is used in an equal-style variable formula. E: Invalid fix ID in variable formula The fix is not recognized. E: Fix in variable not computed at compatible time Fixes generate their values on specific timesteps. The variable is requesting the values on a non-allowed timestep. E: Variable formula fix vector is accessed out-of-range Self-explanatory. E: Variable formula fix array is accessed out-of-range Self-explanatory. E: Per-atom fix in equal-style variable formula Equal-style variables cannot use per-atom quantities. E: Mismatched fix in variable formula A fix is referenced incorrectly or a fix that produces per-atom values is used in an equal-style variable formula. E: Invalid variable name in variable formula Variable name is not recognized. E: Variable has circular dependency 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 A variable used in a formula could not be evaluated. E: Atom-style variable in equal-style variable formula Atom-style variables generate one value per atom which is not allowed in an equal-style variable. E: Atomfile-style variable in equal-style variable formula Self-explanatory. E: Mismatched variable in variable formula A variable is referenced incorrectly or an atom-style variable that produces per-atom values is used in an equal-style variable formula. E: Invalid math/group/special function in variable formula Self-explanatory. E: Invalid thermo keyword in variable formula The keyword is not recognized. E: Divide by 0 in variable formula Self-explanatory. E: Modulo 0 in variable formula Self-explanatory. E: Power by 0 in variable formula Self-explanatory. E: Sqrt of negative value in variable formula Self-explanatory. E: Log of zero/negative value in variable formula Self-explanatory. E: Arcsin of invalid value in variable formula Argument of arcsin() must be between -1 and 1. E: Arccos of invalid value in variable formula Argument of arccos() must be between -1 and 1. E: Invalid math function in variable formula Self-explanatory. E: Non digit character between brackets in variable Self-explantory. E: Mismatched brackets in variable Self-explanatory. E: Empty brackets in variable There is no variable syntax that uses empty brackets. Check the variable doc page. E: Index between variable brackets must be positive Self-explanatory. E: Cannot use ramp in variable formula between runs This is because the ramp() function is time dependent. E: Cannot use vdisplace in variable formula between runs This is a function of elapsed time. E: Cannot use swiggle in variable formula between runs This is a function of elapsed time. E: Cannot use cwiggle in variable formula between runs This is a function of elapsed time. E: Group ID in variable formula does not exist Self-explanatory. E: Invalid group function in variable formula Group function is not recognized. E: Region ID in variable formula does not exist Self-explanatory. E: Invalid special function in variable formula Self-explanatory. E: Gmask function in equal-style variable formula Gmask is per-atom operation. E: Rmask function in equal-style variable formula Rmask is per-atom operation. E: Grmask function in equal-style variable formula Grmask is per-atom operation. E: Variable ID in variable formula does not exist Self-explanatory. E: Atomfile variable in equal-style variable formula Self-explanatory. E: Invalid variable style in special function next Only file-style or atomfile-style variables can be used with next(). E: Indexed per-atom vector in variable formula without atom map Accessing a value from an atom vector requires the ability to lookup an atom index, which is provided by an atom map. An atom map does not exist (by default) for non-molecular problems. Using the atom_modify map command will force an atom map to be created. E: Variable uses atom property that isn't allocated Self-explanatory. E: Invalid atom vector in variable formula The atom vector is not recognized. E: Atom vector in equal-style variable formula Atom vectors generate one value per atom which is not allowed in an equal-style variable. E: Expected floating point parameter in variable definition The quantity being read is a non-numeric value. E: Expected integer parameter in variable definition The quantity being read is a floating point or non-numeric value. E: Invalid Boolean syntax in if command Self-explanatory. E: Cannot open file variable file %s The specified file cannot be opened. Check that the path and name are correct. E: Cannot use atomfile-style variable unless atom map exists Self-explanatory. See the atom_modify command to create a map. E: Invalid atom ID in variable file Self-explanatory. */ diff --git a/src/velocity.h b/src/velocity.h index 62905e7f7..1b43278d2 100644 --- a/src/velocity.h +++ b/src/velocity.h @@ -1,142 +1,142 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMMAND_CLASS CommandStyle(velocity,Velocity) #else #ifndef LMP_VELOCITY_H #define LMP_VELOCITY_H #include "pointers.h" namespace LAMMPS_NS { class Velocity : protected Pointers { public: Velocity(class LAMMPS *); void command(int, char **); void init_external(const char *); void options(int, char **); void create(double, int); private: int igroup,groupbit; int style; int dist_flag,sum_flag,momentum_flag,rotation_flag,loop_flag,scale_flag,rfix; double xscale,yscale,zscale; class Compute *temperature; void set(int, char **); void scale(int, char **); void ramp(int, char **); void zero(int, char **); void rescale(double, double); void zero_momentum(); void zero_rotation(); }; } #endif #endif /* ERROR/WARNING messages: E: Illegal ... command 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: Velocity command before simulation box is defined The velocity command cannot be used before a read_data, read_restart, or create_box command. E: Velocity command with no atoms existing A velocity command has been used, but no atoms yet exist. E: Could not find velocity group ID A group ID used in the velocity command does not exist. W: Mismatch between velocity and compute groups The temperature computation used by the velocity command will not be on the same group of atoms that velocities are being set for. E: Too big a problem to use velocity create loop all The system size must fit in a 32-bit integer to use this option. E: Cannot use velocity create loop all unless atoms have IDs Atoms in the simulation to do not have IDs, so this style of velocity creation cannot be performed. E: Atom IDs must be consecutive for velocity create loop all Self-explanatory. E: Variable name for velocity set does not exist Self-explanatory. E: Variable for velocity set is invalid style Only atom-style variables can be used. E: Cannot set non-zero z velocity for 2d simulation Self-explanatory. E: Cannot set variable z velocity for 2d simulation Self-explanatory. E: Velocity ramp in z for a 2d problem Self-explanatory. E: Velocity rigid used with non-rigid fix-ID Self-explanatory. E: Attempting to rescale a 0.0 temperature Cannot rescale a temperature that is already 0.0. E: Cannot zero momentum of no atoms Self-explanatory. E: Could not find velocity temperature ID The compute ID needed by the velocity command to compute temperature does not exist. E: Velocity temperature ID does not compute temperature The compute ID given to the velocity command must compute temperature. E: Fix ID for velocity does not exist Self-explanatory. */ diff --git a/src/verlet.h b/src/verlet.h index 07aaf012e..80e46f623 100644 --- a/src/verlet.h +++ b/src/verlet.h @@ -1,56 +1,56 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef INTEGRATE_CLASS IntegrateStyle(verlet,Verlet) #else #ifndef LMP_VERLET_H #define LMP_VERLET_H #include "integrate.h" namespace LAMMPS_NS { class Verlet : public Integrate { public: Verlet(class LAMMPS *, int, char **); virtual ~Verlet() {} virtual void init(); virtual void setup(); virtual void setup_minimal(int); virtual void run(int); void cleanup(); protected: int triclinic; // 0 if domain is orthog, 1 if triclinic int torqueflag,extraflag; virtual void force_clear(); }; } #endif #endif /* ERROR/WARNING messages: W: No fixes defined, atoms won't move If you are not using a fix like nve, nvt, npt then atom velocities and coordinates will not be updated during timestepping. */ diff --git a/src/write_data.h b/src/write_data.h index 4f1a7bd69..66f8d42bc 100644 --- a/src/write_data.h +++ b/src/write_data.h @@ -1,80 +1,80 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMMAND_CLASS CommandStyle(write_data,WriteData) #else #ifndef LMP_WRITE_DATA_H #define LMP_WRITE_DATA_H #include "stdio.h" #include "pointers.h" namespace LAMMPS_NS { class WriteData : protected Pointers { public: WriteData(class LAMMPS *); void command(int, char **); void write(char *); private: int me,nprocs; int pairflag; FILE *fp; bigint nbonds_local,nbonds; bigint nangles_local,nangles; void header(); void type_arrays(); void force_fields(); void atoms(); void velocities(); void bonds(); void angles(); void dihedrals(); void impropers(); void fix(int, int); }; } #endif #endif /* ERROR/WARNING messages: E: Write_data command before simulation box is defined Self-explanatory. E: Illegal ... command 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: Atom count is inconsistent, cannot write data file The sum of atoms across processors does not equal the global number of atoms. Probably some atoms have been lost. E: Cannot open data file %s The specified file cannot be opened. Check that the path and name are correct. */ diff --git a/src/write_restart.h b/src/write_restart.h index ff42f5d70..16249e4bb 100644 --- a/src/write_restart.h +++ b/src/write_restart.h @@ -1,114 +1,114 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains certain rights in this software. This software is distributed under the GNU General Public License. See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ #ifdef COMMAND_CLASS CommandStyle(write_restart,WriteRestart) #else #ifndef LMP_WRITE_RESTART_H #define LMP_WRITE_RESTART_H #include "stdio.h" #include "pointers.h" namespace LAMMPS_NS { class WriteRestart : protected Pointers { public: WriteRestart(class LAMMPS *); void command(int, char **); void multiproc_options(int, int, int, char **); void write(char *); private: int me,nprocs; FILE *fp; bigint natoms; // natoms (sum of nlocal) to write into file int multiproc; // 0 = proc 0 writes for all // else # of procs writing files int nclusterprocs; // # of procs in my cluster that write to one file int filewriter; // 1 if this proc writes a file, else 0 int fileproc; // ID of proc in my cluster who writes to file int icluster; // which cluster I am in // MPI-IO values int mpiioflag; // 1 for MPIIO output, else 0 class RestartMPIIO *mpiio; // MPIIO for restart file output MPI_Offset headerOffset; void header(); void type_arrays(); void force_fields(); void file_layout(int); void magic_string(); void endian(); void version_numeric(); void write_int(int, int); void write_bigint(int, bigint); void write_double(int, double); void write_string(int, char *); void write_int_vec(int, int, int *); void write_double_vec(int, int, double *); }; } #endif #endif /* ERROR/WARNING messages: E: Write_restart command before simulation box is defined The write_restart command cannot be used before a read_data, read_restart, or create_box command. E: Illegal ... command 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: Restart file MPI-IO output not allowed with % in filename This is because a % signifies one file per processor and MPI-IO creates one large file for all processors. E: Writing to MPI-IO filename when MPIIO package is not installed Self-explanatory. E: Cannot use write_restart fileper without % in restart file name Self-explanatory. E: Cannot use write_restart nfile without % in restart file name Self-explanatory. E: Atom count is inconsistent, cannot write restart file Sum of atoms across processors does not equal initial total count. This is probably because you have lost some atoms. E: Cannot open restart file %s Self-explanatory. */