From 5136d597135ffd9fc0ae8aff691aefea172d9854 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 30 Jan 2014 17:21:25 -0500 Subject: [PATCH] anticipate 1 Feb 2014 patch from upstream --- src/CLASS2/dihedral_class2.h | 2 +- src/CLASS2/improper_class2.h | 2 +- src/DIPOLE/atom_vec_dipole.h | 4 - src/DIPOLE/pair_lj_cut_dipole_long.h | 6 +- src/DIPOLE/pair_lj_long_dipole_long.h | 18 +- src/GPU/gpu_extra.h | 11 +- src/GPU/pair_lj_gromacs_gpu.h | 5 - src/GPU/pair_sw_gpu.h | 34 +- src/KIM/pair_kim.cpp | 8 +- src/KIM/pair_kim.h | 21 +- src/KSPACE/msm.cpp | 3 +- src/KSPACE/pair_buck_long_coul_long.h | 4 - src/KSPACE/pair_lj_long_coul_long.h | 20 +- src/KSPACE/pppm.h | 7 +- src/KSPACE/pppm_disp.cpp | 17 +- src/KSPACE/pppm_disp.h | 200 ++---- src/KSPACE/pppm_old.h | 8 +- src/MANYBODY/fix_qeq_comb.h | 4 - src/MANYBODY/pair_airebo.h | 6 - src/MANYBODY/pair_comb3.cpp | 6 +- src/MANYBODY/pair_comb3.h | 62 +- src/MANYBODY/pair_lcbop.h | 98 +-- src/MANYBODY/pair_nb3b_harmonic.h | 53 +- src/MANYBODY/pair_tersoff.h | 4 +- src/MANYBODY/pair_tersoff_mod.cpp | 2 +- src/MANYBODY/pair_tersoff_mod.h | 25 +- src/MANYBODY/pair_tersoff_zbl.h | 4 +- src/MEAM/pair_meam.cpp | 4 +- src/MISC/fix_deposit.cpp | 2 +- src/MISC/pair_nm_cut.h | 66 +- src/MOLECULE/atom_vec_bond.h | 4 - src/MOLECULE/atom_vec_full.h | 4 - src/MOLECULE/atom_vec_molecular.h | 4 - src/MOLECULE/atom_vec_template.h | 6 - src/MOLECULE/bond_fene.h | 2 +- src/MOLECULE/bond_fene_expand.h | 2 +- src/MOLECULE/dihedral_charmm.h | 2 +- src/MOLECULE/dihedral_harmonic.h | 2 +- src/MOLECULE/dihedral_helix.h | 2 +- src/MOLECULE/dihedral_multi_harmonic.h | 2 +- src/MOLECULE/dihedral_opls.h | 2 +- src/MOLECULE/improper_cvff.h | 2 +- src/MOLECULE/improper_harmonic.h | 2 +- src/MOLECULE/improper_umbrella.h | 2 +- src/MOLECULE/pair_lj_charmm_coul_charmm.cpp | 2 +- src/MOLECULE/pair_lj_cut_tip4p_cut.h | 10 +- src/MOLECULE/pair_tip4p_cut.h | 6 +- src/MPIIO/dump_atom_mpiio.cpp | 12 +- src/MPIIO/dump_custom_mpiio.cpp | 10 +- src/MPIIO/dump_xyz_mpiio.cpp | 6 +- src/MPIIO/restart_mpiio.cpp | 14 +- src/MPIIO/restart_mpiio.h | 30 +- src/PERI/atom_vec_peri.h | 4 - src/PERI/fix_peri_neigh.cpp | 11 + src/PERI/pair_peri_lps.h | 4 - src/PERI/pair_peri_pmb.h | 4 - src/Package.sh | 4 +- src/Purge.list | 2 + src/REPLICA/tad.cpp | 50 +- src/REPLICA/tad.h | 2 +- src/REPLICA/verlet_split.h | 2 +- src/RIGID/fix_rigid_small.h | 2 +- src/RIGID/fix_shake.cpp | 2 - src/RIGID/fix_shake.h | 6 +- src/SHOCK/fix_append_atoms.cpp | 4 +- src/SHOCK/fix_wall_piston.h | 4 - src/SRD/fix_srd.h | 4 +- src/SRD/fix_wall_srd.h | 5 - src/USER-ATC/fix_atc.cpp | 3 +- src/USER-CG-CMM/pair_cmm_common.cpp | 479 -------------- src/USER-CG-CMM/pair_cmm_common.h | 692 -------------------- src/USER-LB/fix_lb_rigid_pc_sphere.cpp | 7 +- src/USER-LB/fix_lb_rigid_pc_sphere.h | 2 +- src/USER-MISC/angle_cosine_shift_exp.cpp | 1 - src/USER-REAXC/reaxc_ffield.cpp | 2 +- src/USER-REAXC/reaxc_tool_box.cpp | 8 +- src/USER-REAXC/reaxc_tool_box.h | 6 +- src/XTC/xdr_compat.h | 86 --- src/atom.cpp | 7 +- src/atom.h | 15 +- src/atom_map.cpp | 6 +- src/atom_vec_atomic.h | 4 - src/atom_vec_body.h | 4 - src/atom_vec_charge.h | 4 - src/atom_vec_ellipsoid.h | 4 - src/atom_vec_hybrid.h | 4 - src/atom_vec_line.h | 4 - src/atom_vec_sphere.h | 4 - src/atom_vec_tri.h | 4 - src/balance.cpp | 110 ---- src/balance.h | 1 - src/body.h | 8 +- src/change_box.h | 5 - src/compute_temp_ramp.h | 5 - src/create_box.h | 15 +- src/displace_atoms.h | 5 - src/dump.h | 2 +- src/dump_cfg.cpp | 32 +- src/dump_custom.h | 7 +- src/dump_dcd.h | 2 +- src/dump_local.h | 2 +- src/dump_xyz.h | 2 +- src/fix_adapt.cpp | 10 +- src/fix_deform.h | 4 - src/fix_dt_reset.h | 5 - src/fix_indent.h | 5 - src/fix_move.h | 5 - src/fix_recenter.h | 5 - src/fix_restrain.h | 2 +- src/fix_shear_history.h | 6 - src/fix_wall.h | 5 - src/fix_wall_harmonic.h | 5 +- src/fix_wall_reflect.h | 5 - src/force.h | 8 - src/image.h | 4 - src/lmpwindows.h | 7 + src/main.cpp | 2 + src/molecule.h | 83 +-- src/neigh_bond.h | 8 +- src/neighbor.cpp | 4 +- src/pair.h | 6 +- src/pair_born_coul_wolf.cpp | 1 + src/pair_coul_dsf.cpp | 36 +- src/pair_coul_wolf.cpp | 5 +- src/pair_lj_cut_coul_dsf.cpp | 15 +- src/read_data.h | 33 +- src/read_dump.h | 8 +- src/read_restart.cpp | 2 +- src/read_restart.h | 47 +- src/region.h | 5 - src/replicate.h | 7 +- src/respa.h | 9 - src/set.h | 15 +- src/thermo.h | 8 - src/variable.h | 24 +- src/velocity.h | 16 +- src/version.h | 2 +- src/write_data.h | 8 +- src/write_dump.h | 81 +-- src/write_restart.cpp | 2 +- src/write_restart.h | 11 +- 141 files changed, 499 insertions(+), 2501 deletions(-) diff --git a/src/CLASS2/dihedral_class2.h b/src/CLASS2/dihedral_class2.h index 43ccac1e87..c55a740300 100644 --- a/src/CLASS2/dihedral_class2.h +++ b/src/CLASS2/dihedral_class2.h @@ -58,7 +58,7 @@ class DihedralClass2 : public Dihedral { /* ERROR/WARNING messages: -W: Dihedral problem: %d %ld %ld %ld %ld %ld +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. diff --git a/src/CLASS2/improper_class2.h b/src/CLASS2/improper_class2.h index db5cf9113e..33ddd8cde0 100644 --- a/src/CLASS2/improper_class2.h +++ b/src/CLASS2/improper_class2.h @@ -53,7 +53,7 @@ class ImproperClass2 : public Improper { /* ERROR/WARNING messages: -W: Improper problem: %d %ld %ld %ld %ld %ld +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. diff --git a/src/DIPOLE/atom_vec_dipole.h b/src/DIPOLE/atom_vec_dipole.h index e5a413ccd5..abe7db9899 100644 --- a/src/DIPOLE/atom_vec_dipole.h +++ b/src/DIPOLE/atom_vec_dipole.h @@ -82,8 +82,4 @@ E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. -U: Invalid atom ID in Atoms section of data file - -Atom IDs must be positive integers. - */ diff --git a/src/DIPOLE/pair_lj_cut_dipole_long.h b/src/DIPOLE/pair_lj_cut_dipole_long.h index 91e7536576..3c156a0ff0 100755 --- a/src/DIPOLE/pair_lj_cut_dipole_long.h +++ b/src/DIPOLE/pair_lj_cut_dipole_long.h @@ -71,7 +71,7 @@ Self-explanatory. Check the input script or data file. E: Pair dipole/long requires atom attributes q, mu, torque -UNDOCUMENTED +The atom style defined does not have these attributes. E: Cannot (yet) use 'electron' units with dipoles @@ -81,8 +81,4 @@ E: Pair style requires a KSpace style No kspace style is defined. -U: 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_long_dipole_long.h b/src/DIPOLE/pair_lj_long_dipole_long.h index 89a73eb36c..cedf725547 100755 --- a/src/DIPOLE/pair_lj_long_dipole_long.h +++ b/src/DIPOLE/pair_lj_long_dipole_long.h @@ -76,11 +76,11 @@ Self-explanatory. W: Using largest cut-off for lj/long/dipole/long long long -UNDOCUMENTED +Self-explanatory. E: Cut-offs missing in pair_style lj/long/dipole/long -UNDOCUMENTED +Self-explanatory. E: Coulombic cut not supported in pair_style lj/long/dipole/long @@ -88,7 +88,7 @@ Must use long-range Coulombic interactions. E: Only one cut-off allowed when requesting all long -UNDOCUMENTED +Self-explanatory. E: Incorrect args for pair coefficients @@ -120,16 +120,4 @@ E: Pair cutoff < Respa interior cutoff One or more pairwise cutoffs are too short to use with the specified rRESPA cutoffs. -U: Using largest cutoff for lj/long/dipole/long - -Self-exlanatory. - -U: Cutoffs missing in pair_style lj/long/dipole/long - -Self-exlanatory. - -U: Only one cutoff allowed when requesting all long - -Self-explanatory. - */ diff --git a/src/GPU/gpu_extra.h b/src/GPU/gpu_extra.h index 5bfb38f369..ddb0b5ceaa 100644 --- a/src/GPU/gpu_extra.h +++ b/src/GPU/gpu_extra.h @@ -111,7 +111,7 @@ E: GPU particle split must be set to 1 for this pair style. For this pair style, you cannot run part of the force calculation on the host. See the package command. -E: CPU neighbor lists must be used for ellipsoid/sphere mix +E: CPU neighbor lists must be used for ellipsoid/sphere mix. When using Gay-Berne or RE-squared pair styles with both ellipsoidal and spherical particles, the neighbor list must be built on the CPU @@ -121,14 +121,13 @@ E: Invalid threads_per_atom specified. For 3-body potentials on the GPU, the threads_per_atom setting cannot be greater than 4 for NVIDIA GPUs. -E: Unknown error in GPU library - -Self-explanatory. - E: Invalid custom OpenCL parameter string. There are not enough or too many parameters in the custom string for package GPU. -*/ +E: Unknown error in GPU library +Self-explanatory. + +*/ diff --git a/src/GPU/pair_lj_gromacs_gpu.h b/src/GPU/pair_lj_gromacs_gpu.h index 1b4707fb9d..011da3e291 100644 --- a/src/GPU/pair_lj_gromacs_gpu.h +++ b/src/GPU/pair_lj_gromacs_gpu.h @@ -56,9 +56,4 @@ E: Cannot use newton pair with lj/gromacs/gpu pair style Self-explanatory. -U: Pair style is incompatible with KSpace style - -If a pair style with a long-range Coulombic component is selected, -then a kspace style must also be used. - */ diff --git a/src/GPU/pair_sw_gpu.h b/src/GPU/pair_sw_gpu.h index b22cb86a38..6b49a4937e 100644 --- a/src/GPU/pair_sw_gpu.h +++ b/src/GPU/pair_sw_gpu.h @@ -51,42 +51,20 @@ class PairSWGPU : public PairSW { E: Insufficient memory on accelerator -UNDOCUMENTED +There is insufficient memory on one of the devices specified for the gpu +package E: Pair style sw/gpu requires atom IDs -UNDOCUMENTED +This is a requirement to use this potential. E: Pair style sw/gpu requires newton pair off -UNDOCUMENTED +See the newton command. This is a restriction to use this potential. E: All pair coeffs are not set -UNDOCUMENTED - -U: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -U: Incorrect args for pair coefficients - -Self-explanatory. Check the input script or data file. - -U: No matching element in ADP potential file - -The ADP potential file does not contain elements that match the -requested elements. - -U: Cannot open ADP potential file %s - -The specified ADP potential file cannot be opened. Check that the -path and name are correct. - -U: Incorrect element names in ADP potential file - -The element names in the ADP file do not match those requested. +All pair coefficients must be set in the data file or by the +pair_coeff command before running a simulation. */ diff --git a/src/KIM/pair_kim.cpp b/src/KIM/pair_kim.cpp index 3391925b7a..0d1a736136 100644 --- a/src/KIM/pair_kim.cpp +++ b/src/KIM/pair_kim.cpp @@ -381,7 +381,7 @@ void PairKIM::init_style() // This is called for each "run ...", "minimize ...", etc. read from input if (domain->dimension != 3) - error->all(FLERR,"PairKIM only works with 3D problems."); + error->all(FLERR,"PairKIM only works with 3D problems"); // set lmps_* bool flags set_lmps_flags(); @@ -979,7 +979,7 @@ void PairKIM::set_kim_model_has_flags() // get KIM API object representing the KIM Model only kimerror = mdl.model_info(kim_modelname); - kim_error(__LINE__,"KIM initialization failed.", kimerror); + kim_error(__LINE__,"KIM initialization failed", kimerror); // determine if the KIM Model can compute the total energy mdl.get_index((char*) "energy", &kimerror); @@ -1007,7 +1007,7 @@ void PairKIM::set_kim_model_has_flags() kim_model_has_particleVirial = (kimerror == KIM_STATUS_OK); mdl.get_index((char*) "process_dEdr", &kimerror); kim_model_has_particleVirial = kim_model_has_particleVirial || - (kimerror == KIM_STATUS_OK); + (kimerror == KIM_STATUS_OK)<; if (!kim_model_has_particleVirial) error->warning(FLERR,"KIM Model does not provide `particleVirial'; " "virial per atom will be zero"); @@ -1025,7 +1025,7 @@ void PairKIM::write_descriptor(char** test_descriptor_string) { // allocate memory if (*test_descriptor_string != 0) - error->all(FLERR, "test_descriptor_string already allocated."); + error->all(FLERR, "Test_descriptor_string already allocated"); // assuming 75 lines at 100 characters each (should be plenty) *test_descriptor_string = new char[100*75]; // initialize diff --git a/src/KIM/pair_kim.h b/src/KIM/pair_kim.h index 307c7a9e03..1bde5640fa 100644 --- a/src/KIM/pair_kim.h +++ b/src/KIM/pair_kim.h @@ -168,9 +168,9 @@ 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. +E: PairKIM only works with 3D problems -UNDOCUMENTED +This is a current limitation. E: All pair coeffs are not set @@ -207,21 +207,8 @@ W: KIM Model does not provide `particleVirial'; virial per atom will be zero Self-explanatory. -E: test_descriptor_string already allocated. +E: Test_descriptor_string already allocated -UNDOCUMENTED - -U: PairKIM only works with 3D problems - -The KIM API does not explicitly support anything other than 3D problems - -U: Internal KIM error - -Self-explanatory. Check the output and kim.log file for more details. - -U: test_descriptor_string already allocated - -This should not happen. It likely indicates a bug in the pair_kim -implementation. +This is an internal error. Contact the developers. */ diff --git a/src/KSPACE/msm.cpp b/src/KSPACE/msm.cpp index 6b1fd822b4..c7dd91e083 100644 --- a/src/KSPACE/msm.cpp +++ b/src/KSPACE/msm.cpp @@ -1005,7 +1005,8 @@ void MSM::set_grid_global() } if (flag && gridflag && me == 0) - error->warning(FLERR,"Number of MSM mesh points changed to be a multiple of 2"); + error->warning(FLERR, + "Number of MSM mesh points changed to be a multiple of 2"); // adjust Coulombic cutoff to give desired error (if requested) diff --git a/src/KSPACE/pair_buck_long_coul_long.h b/src/KSPACE/pair_buck_long_coul_long.h index 76c5b7088a..736742a77a 100644 --- a/src/KSPACE/pair_buck_long_coul_long.h +++ b/src/KSPACE/pair_buck_long_coul_long.h @@ -120,8 +120,4 @@ E: Pair cutoff < Respa interior cutoff One or more pairwise cutoffs are too short to use with the specified rRESPA cutoffs. -U: Geometric mixing assumed for 1/r^6 coefficients - -Self-explanatory. - */ diff --git a/src/KSPACE/pair_lj_long_coul_long.h b/src/KSPACE/pair_lj_long_coul_long.h index 7a1d36b9b9..c1628e3132 100644 --- a/src/KSPACE/pair_lj_long_coul_long.h +++ b/src/KSPACE/pair_lj_long_coul_long.h @@ -80,7 +80,7 @@ command-line option when running LAMMPS to see the offending line. W: Using largest cutoff for lj/long/coul/long -UNDOCUMENTED +Self-explanatory. E: Cutoffs missing in pair_style lj/long/coul/long @@ -100,7 +100,7 @@ Self-explanatory. Check the input script or data file. E: Invoking coulombic in pair style lj/coul requires atom attribute q -UNDOCUMENTED +The atom style defined does not have this attribute. E: Pair style requires a KSpace style @@ -111,20 +111,4 @@ E: Pair cutoff < Respa interior cutoff One or more pairwise cutoffs are too short to use with the specified rRESPA cutoffs. -U: Mixing forced for lj coefficients - -Self-explanatory. - -U: Mixing forced for LJ coefficients - -Self-explanatory. - -U: Using largest cutoff for pair_style lj/long/coul/long - -Self-explanatory. - -U: Pair style lj/long/coul/long requires atom attribute q - -The atom style defined does not have this attribute. - */ diff --git a/src/KSPACE/pppm.h b/src/KSPACE/pppm.h index 76a5bdea19..bf6cb9bc89 100644 --- a/src/KSPACE/pppm.h +++ b/src/KSPACE/pppm.h @@ -327,15 +327,10 @@ large a timestep, etc. E: Cannot (yet) use K-space slab correction with compute group/group for triclinic systems -UNDOCUMENTED +This option is not yet supported. E: Cannot (yet) use kspace_modify diff ad with compute group/group This option is not yet supported. -U: 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/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index 336092eebc..250f26c3a1 100755 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -274,7 +274,7 @@ void PPPMDisp::init() else if (mixflag == 2) { k = 3; break; } default: sprintf(str, "Unsupported order in kspace_style " - "pppm/disp pair_style %s", force->pair_style); + "pppm/disp, pair_style %s", force->pair_style); error->all(FLERR,str); } function[k] = 1; @@ -381,7 +381,7 @@ void PPPMDisp::init() "b/c stencil extends beyond neighbor processor"); iteration++; - // set grid for dispersion interaction and coulomb interactions! + // set grid for dispersion interaction and coulomb interactions set_grid(); @@ -516,7 +516,8 @@ void PPPMDisp::init() // adjust g_ewald_6 - if (!gewaldflag_6 && accuracy_kspace_6 == accuracy_real_6) adjust_gewald_6(); + if (!gewaldflag_6 && accuracy_kspace_6 == accuracy_real_6) + adjust_gewald_6(); // calculate the final accuracy @@ -1292,7 +1293,7 @@ void PPPMDisp::init_coeffs() // local pair coeffs err = bmax/amax; if (err > 1.0e-4) { char str[128]; - sprintf(str, "Error in splitting of dispersion coeffs is estimated %g %.",err); + sprintf(str,"Error in splitting of dispersion coeffs is estimated %g%",err); error->warning(FLERR, str); } // set B @@ -1337,7 +1338,7 @@ void PPPMDisp::init_coeffs() // local pair coeffs if (screen) fprintf(screen," Using %d structure factors\n",nsplit); if (logfile) fprintf(logfile," Using %d structure factors\n",nsplit); } - if (nsplit > 9) error->warning(FLERR, "Simulations might be very slow because of large number of structure factors!"); + if (nsplit > 9) error->warning(FLERR, "Simulations might be very slow because of large number of structure factors"); } memory->destroy(A); @@ -1354,7 +1355,7 @@ void PPPMDisp::init_coeffs() // local pair coeffs //cannot use sigma, because this has not been set yet double **sigma = (double **) force->pair->extract("sigma",tmp); if (!(epsilon&&sigma)) - error->all(FLERR,"epsilon or sigma reference not set by pair style in PPPMDisp"); + error->all(FLERR,"Epsilon or sigma reference not set by pair style in PPPMDisp"); double eps_i, sigma_i, sigma_n, *bi = B = new double[7*n+7]; double c[7] = { 1.0, sqrt(6.0), sqrt(15.0), sqrt(20.0), sqrt(15.0), sqrt(6.0), 1.0}; @@ -2603,7 +2604,7 @@ void PPPMDisp::set_grid() // break loop if the accuracy has been reached or too many loops have been performed if (dfkspace <= accuracy) break; - if (count > 500) error->all(FLERR, "Could not compute grid size for Coulomb interaction!"); + if (count > 500) error->all(FLERR, "Could not compute grid size for Coulomb interaction"); h *= 0.95; h_x = h_y = h_z = h; } @@ -3640,7 +3641,7 @@ void PPPMDisp::set_n_pppm_6() // break loop if the accuracy has been reached or too many loops have been performed if (df_kspace <= acc_kspace) break; - if (count > 500) error->all(FLERR, "Could not compute grid size for Dispersion!"); + if (count > 500) error->all(FLERR, "Could not compute grid size for Dispersion"); h *= 0.95; h_x = h_y = h_z = h; } diff --git a/src/KSPACE/pppm_disp.h b/src/KSPACE/pppm_disp.h index e401211fe4..26c56d1a0b 100755 --- a/src/KSPACE/pppm_disp.h +++ b/src/KSPACE/pppm_disp.h @@ -383,32 +383,36 @@ command-line option when running LAMMPS to see the offending line. E: Cannot use PPPMDisp with 2d simulation -UNDOCUMENTED +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 -UNDOCUMENTED +For kspace style pppm/disp, all 3 dimensions must have periodic +boundaries unless you use the kspace_modify command to define a 2d +slab with a non-periodic z dimension. E: Incorrect boundaries with slab PPPMDisp -UNDOCUMENTED +Must have periodic x,y dimensions and non-periodic z dimension to use +2d slab option with pppm/disp. E: PPPMDisp coulomb order cannot be greater than %d -UNDOCUMENTED +This is a limitation of the PPPM implementation in LAMMPS. E: KSpace style is incompatible with Pair style 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 +E: Unsupported order in kspace_style pppm/disp, pair_style %s -UNDOCUMENTED +Only pair styles with 1/r and 1/r^6 dependence are currently supported. W: Charges are set, but coulombic solver is not used -UNDOCUMENTED +Self-explanatory. E: Kspace style with selected options requires atom attribute q @@ -432,35 +436,43 @@ are defined. E: Bad TIP4P angle type for PPPMDisp/TIP4P -UNDOCUMENTED +Specified angle type is not valid. E: Bad TIP4P bond type for PPPMDisp/TIP4P -UNDOCUMENTED +Specified bond type is not valid. W: Reducing PPPMDisp Coulomb order b/c stencil extends beyond neighbor processor -UNDOCUMENTED +This may lead to a larger grid than desired. See the kspace_modify overlap +command to prevent changing of the PPPM order. E: PPPMDisp Coulomb grid is too large -UNDOCUMENTED +The global PPPM grid is larger than OFFSET in one or more dimensions. +OFFSET is currently set to 4096. You likely need to decrease the +requested accuracy. E: Coulomb PPPMDisp order has been reduced below minorder -UNDOCUMENTED +The default minimum order is 2. This can be reset by the +kspace_modify minorder command. W: Reducing PPPMDisp dispersion order b/c stencil extends beyond neighbor processor -UNDOCUMENTED +This may lead to a larger grid than desired. See the kspace_modify overlap +command to prevent changing of the PPPM order. E: PPPMDisp Dispersion grid is too large -UNDOCUMENTED +The global 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 -UNDOCUMENTED +The default minimum order is 2. This can be reset by the +kspace_modify minorder command. E: PPPM grid stencil extends beyond nearest neighbor processor @@ -468,28 +480,30 @@ This is not allowed if the kspace_modify overlap setting is no. E: Matrix factorization to split dispersion coefficients failed -UNDOCUMENTED +This should not normally happen. Contact the developers. -W: Error in splitting of dispersion coeffs is estimated %g %. +W: Error in splitting of dispersion coeffs is estimated %g% -UNDOCUMENTED +Error is greater than 0.0001 percent. -W: Simulations might be very slow because of large number of structure factors! +W: Simulations might be very slow because of large number of structure factors -UNDOCUMENTED +Self-explanatory. -E: epsilon or sigma reference not set by pair style in PPPMDisp +E: Epsilon or sigma reference not set by pair style in PPPMDisp -UNDOCUMENTED +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! +E: Could not compute grid size for Coulomb interaction -UNDOCUMENTED +The code is unable to compute a grid size consistent with the desired +accuracy. This error should not occur for typical problems. Please +send an email to the developers. E: Could not compute g_ewald @@ -499,7 +513,9 @@ send an email to the developers. E: Could not adjust g_ewald_6 -UNDOCUMENTED +The Newton-Raphson solver failed to converge to a good value for +g_ewald. This error should not occur for typical problems. Please +send an email to the developers. E: Cannot compute initial g_ewald_disp @@ -507,139 +523,15 @@ LAMMPS failed to compute an initial guess for the PPPM_disp g_ewald_6 factor that partitions the computation between real space and k-space for Disptersion interactions. -E: Could not compute grid size for Dispersion! +E: Could not compute grid size for Dispersion -UNDOCUMENTED +The code is unable to compute a grid size consistent with the desired +accuracy. This error should not occur for typical problems. Please +send an email to the developers. E: Out of range atoms - cannot compute PPPMDisp -UNDOCUMENTED - -U: Unsupported mixing rule in kspace_style pppm/disp for pair_style %s - -UNDOCUMENTED - -U: Cannot (yet) use PPPMDisp with triclinic box - -UNDOCUMENTED - -U: Reducing PPPMDisp Coulomb order b/c stencil extends beyond neighbor processor. - -UNDOCUMENTED - -U: Reducing PPPMDisp dispersion order b/c stencil extends beyond -neighbor processor - -UNDOCUMENTED - -U: PPPMDisp dispersion grid is too large - -UNDOCUMENTED - -U: Could not compute grid size for dispersion - -UNDOCUMENTED - -U: Cannot (yet) use PPPM_disp with triclinic box - -This feature is not yet supported. - -U: Cannot use PPPM_disp with 2d simulation - -The kspace style pppm_disp cannot be used in 2d simulations. You can use -2d PPPM_disp in a 3d simulation; see the kspace_modify command. - -U: Cannot use nonperiodic boundaries with PPPM_disp - -For kspace style pppm_disp, all 3 dimensions must have periodic boundaries -unless you use the kspace_modify command to define a 2d slab with a -non-periodic z dimension. - -U: Incorrect boundaries with slab PPPM_disp - -Must have periodic x,y dimensions and non-periodic z dimension to use -2d slab option with PPPM_disp. - -U: PPPM_disp coulomb order cannot be greater than %d - -Self-explanatory. - -U: PPPM_disp dispersion order cannot be greater than %d - -Self-explanatory. - -U: Unsupported mixing rule in kspace_style pppm_disp for pair_style %s - -PPPM_disp requires arithemtic or geometric mixing rules. - -U: Unsupported order in kspace_style pppm_disp pair_style %s - -PPPM_disp only works for 1/r and 1/r^6 potentials - -U: Charges are set, but coulombic long-range solver is not used. - -Charges have been specified, however, calculations are performed -as if they were zero. - -U: Bad TIP4P angle type for PPPM_disp/TIP4P - -Specified angle type is not valid. - -U: Bad TIP4P bond type for PPPM_disp/TIP4P - -Specified bond type is not valid. - -U: Reducing PPPM_disp Coulomb order b/c stencil extends beyond neighbor processor - -LAMMPS is attempting this in order to allow the simulation -to run. It should not effect the PPPM_disp accuracy. - -U: Reducing PPPM_disp dispersion order b/c stencil extends beyond neighbor processor - -LAMMPS is attempting this in order to allow the simulation -to run. It should not effect the PPPM_disp accuracy. - -U: PPPM_disp Coulomb grid is too large - -The global PPPM_disp grid for Coulomb interactions is larger than -OFFSET in one or more dimensions. OFFSET is currently set to 16384. -You likely need to decrease the requested precision. - -U: PPPM_grid dispersion grid is too large - -One of the PPPM_disp grids for dispersion interactions is larger than -OFFSET in one or more dimensions. OFFSET is currently set to 16384. -You likely need to decrease the requested precision. - -U: Coulomb PPPM_disp order has been reduced to 0 - -LAMMPS has attempted to reduce the PPPM_disp coulomb order to enable -the simulation to run, but can reduce the order no further. Try -increasing the accuracy of PPPM_disp coulomb by reducing the tolerance -size, thus inducing a larger PPPM_disp coulomb grid. - -U: Dispersion PPPM_disp order has been reduced to 0 - -LAMMPS has attempted to reduce the PPPM_disp dispersion order to -enable the simulation to run, but can reduce the order no further. -Try increasing the accuracy of PPPM_disp dispersion by reducing the -tolerance size, thus inducing a larger PPPM_disp dispersion grid. - -U: Cannot compute PPPM_disp g_ewald - -LAMMPS failed to compute a valid approximation for the PPPM_disp -g_ewald factor that partitions the computation between real space and -k-space for Coulomb interactions. - -U: Cannot compute final g_ewald_disp - -LAMMPS failed to compute a final value for the PPPM_disp g_ewald_6 -factor that partitions the computation between real space and k-space -for Disptersion interactions. - -U: Out of range atoms - cannot compute PPPM_disp - -One or more atoms are attempting to map their charge to a PPPM_disp grid +One or more atoms are attempting to map their charge to a PPPM grid point that is not owned by a processor. This is likely for one of two reasons, both of them bad. First, it may mean that an atom near the boundary of a processor's sub-domain has moved more than 1/2 the diff --git a/src/KSPACE/pppm_old.h b/src/KSPACE/pppm_old.h index 58e303c57b..758dd79a49 100644 --- a/src/KSPACE/pppm_old.h +++ b/src/KSPACE/pppm_old.h @@ -237,7 +237,8 @@ requested accuracy. E: PPPM order has been reduced to 0 -UNDOCUMENTED +The auto-adjust of the order failed. You will need to +set the grid size and order directly via kspace_modify. E: KSpace accuracy must be > 0 @@ -245,7 +246,8 @@ The kspace accuracy designated in the input must be greater than zero. E: Cannot compute PPPM G -UNDOCUMENTED +The Ewald factor could not be computed for the current choice of +grid size, cutoff, accuracy. E: Out of range atoms - cannot compute PPPM @@ -265,6 +267,6 @@ large a timestep, etc. E: Cannot (yet) use K-space slab correction with compute group/group -UNDOCUMENTED +This option is not yet supported. */ diff --git a/src/MANYBODY/fix_qeq_comb.h b/src/MANYBODY/fix_qeq_comb.h index 65d8573aed..62a0aa21ab 100644 --- a/src/MANYBODY/fix_qeq_comb.h +++ b/src/MANYBODY/fix_qeq_comb.h @@ -83,8 +83,4 @@ E: Fix qeq/comb group has no atoms Self-explanatory. -U: Must use pair_style comb with fix qeq/comb - -Self-explanatory. - */ diff --git a/src/MANYBODY/pair_airebo.h b/src/MANYBODY/pair_airebo.h index 1563be678f..619c97ba4f 100644 --- a/src/MANYBODY/pair_airebo.h +++ b/src/MANYBODY/pair_airebo.h @@ -212,10 +212,4 @@ E: Cannot open AIREBO potential file %s The specified AIREBO potential file cannot be opened. Check that the path and name are correct. -U: Neighbor list overflow, boost neigh_modify one or page - -There are too many neighbors of a single atom. Use the neigh_modify -command to increase the neighbor page size and the max number of -neighbors allowed for one atom. - */ diff --git a/src/MANYBODY/pair_comb3.cpp b/src/MANYBODY/pair_comb3.cpp index 2d6bf9f9ef..37f87788bf 100644 --- a/src/MANYBODY/pair_comb3.cpp +++ b/src/MANYBODY/pair_comb3.cpp @@ -323,7 +323,7 @@ void PairComb3::read_lib() FILE *fp = fopen("lib.comb3","r"); if (fp == NULL) { char str[128]; - sprintf(str,"Cannot open COMB3 C library file \n"); + sprintf(str,"Cannot open COMB3 C library file"); error->one(FLERR,str); } @@ -2648,9 +2648,9 @@ void PairComb3::tables() rvdw[1][inty] = params[iparam_ij].vsig * 0.950; - // radius check: outter radius vs. sigma + // radius check: outer radius vs. sigma if( rvdw[0][inty] > rvdw[1][inty] ) - error->all(FLERR,"Error in vdw spline: inner radius > outter radius"); + error->all(FLERR,"Error in vdw spline: inner radius > outer radius"); rrc[0] = rvdw[1][inty]; diff --git a/src/MANYBODY/pair_comb3.h b/src/MANYBODY/pair_comb3.h index fb4bda76ee..689d19aa69 100644 --- a/src/MANYBODY/pair_comb3.h +++ b/src/MANYBODY/pair_comb3.h @@ -282,36 +282,40 @@ Self-explanatory. Check the input script or data file. E: Pair style COMB3 requires atom IDs -UNDOCUMENTED +This is a requirement to use this potential. E: Pair style COMB3 requires newton pair on -UNDOCUMENTED +See the newton command. This is a restriction to use the COMB3 +potential. E: Pair style COMB3 requires atom attribute q -UNDOCUMENTED +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. -E: Cannot open COMB3 C library file \n +E: Cannot open COMB3 C library file -UNDOCUMENTED +The extra lib.comb3 file for carbon cannot be opened. Check that it +exists. E: Cannot open COMB3 potential file %s -UNDOCUMENTED +The specified COMB potential file cannot be opened. Check that the +path and name are correct. E: Incorrect format in COMB3 potential file -UNDOCUMENTED +Incorrect number of words per line in the potential file. E: Illegal COMB3 parameter -UNDOCUMENTED +One or more of the coefficients defined in the potential file is +invalid. E: Potential file has duplicate entry @@ -329,48 +333,8 @@ 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: Error in vdw spline: inner radius > outter radius - -UNDOCUMENTED - - - - - - -U: Pair style COMB requires atom IDs - -This is a requirement to use the AIREBO potential. - -U: Pair style COMB requires newton pair on - -See the newton command. This is a restriction to use the COMB -potential. - -U: Pair style COMB requires atom attribute q +E: Error in vdw spline: inner radius > outer radius Self-explanatory. -U: Cannot open COMB potential file %s - -The specified COMB potential file cannot be opened. Check that the -path and name are correct. - -U: Incorrect format in COMB potential file - -Incorrect number of words per line in the potential file. - -U: Illegal COMB parameter - -One or more of the coefficients defined in the potential file is -invalid. - -U: Pair COMB charge %.10f with force %.10f hit min barrier - -Something is possibly wrong with your model. - -U: Pair COMB charge %.10f with force %.10f hit max barrier - -Something is possibly wrong with your model. - */ diff --git a/src/MANYBODY/pair_lcbop.h b/src/MANYBODY/pair_lcbop.h index 16ed0ac6d1..339b1bcd4d 100644 --- a/src/MANYBODY/pair_lcbop.h +++ b/src/MANYBODY/pair_lcbop.h @@ -177,107 +177,31 @@ command-line option when running LAMMPS to see the offending line. E: Incorrect args for pair coefficients -UNDOCUMENTED +Self-explanatory. Check the input script or data file. E: Pair style LCBOP requires atom IDs -UNDOCUMENTED +This is a requirement to use the LCBOP potential. E: Pair style LCBOP requires newton pair on -UNDOCUMENTED +See the newton command. This is a restriction to use the Tersoff +potential. E: All pair coeffs are not set -UNDOCUMENTED +All pair coefficients must be set in the data file or by the +pair_coeff command before running a simulation. E: Neighbor list overflow, boost neigh_modify one -UNDOCUMENTED +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 -UNDOCUMENTED - -U: Variable name for thermo every does not exist - -Self-explanatory. - -U: Variable for thermo every is invalid style - -Only equal-style variables can be used. - -U: Variable name for dump every does not exist - -Self-explanatory. - -U: Variable for dump every is invalid style - -Only equal-style variables can be used. - -U: Variable name for restart does not exist - -Self-explanatory. - -U: Variable for restart is invalid style - -Only equal-style variables can be used. - -U: Dump every variable returned a bad timestep - -The variable must return a timestep greater than the current timestep. - -U: Restart variable returned a bad timestep - -The variable must return a timestep greater than the current timestep. - -U: Thermo every variable returned a bad timestep - -The variable must return a timestep greater than the current timestep. - -U: Reuse of dump ID - -A dump ID cannot be used twice. - -U: Could not find dump group ID - -A group ID used in the dump command does not exist. - -U: Invalid dump frequency - -Dump frequency must be 1 or greater. - -U: Invalid dump style - -The choice of dump style is unknown. - -U: Cound not find dump_modify ID - -Self-explanatory. - -U: Could not find undump ID - -A dump ID used in the undump command does not exist. - -U: Thermo_style command before simulation box is defined - -The thermo_style command cannot be used before a read_data, -read_restart, or create_box command. - -U: New thermo_style command, previous thermo_modify settings will be lost - -If a thermo_style command is used after a thermo_modify command, the -settings changed by the thermo_modify command will be reset to their -default values. This is because the thermo_modify commmand acts on -the currently defined thermo style, and a thermo_style command creates -a new style. - -U: Both restart files must have '%' or neither - -UNDOCUMENTED - -U: Both restart files must use MPI-IO or neither - -UNDOCUMENTED +The specified LCBOP potential file cannot be opened. Check that the +path and name are correct. */ diff --git a/src/MANYBODY/pair_nb3b_harmonic.h b/src/MANYBODY/pair_nb3b_harmonic.h index ac08424f54..47227e58de 100644 --- a/src/MANYBODY/pair_nb3b_harmonic.h +++ b/src/MANYBODY/pair_nb3b_harmonic.h @@ -77,11 +77,11 @@ Self-explanatory. Check the input script or data file. E: Pair style nb3b/harmonic requires atom IDs -UNDOCUMENTED +This is a requirement to use this potential. E: Pair style nb3b/harmonic requires newton pair on -UNDOCUMENTED +See the newton command. This is a restriction to use this potential. E: All pair coeffs are not set @@ -90,15 +90,17 @@ pair_coeff command before running a simulation. E: Cannot open nb3b/harmonic potential file %s -UNDOCUMENTED +The specified potential file cannot be opened. Check that the path +and name are correct. E: Incorrect format in nb3b/harmonic potential file -UNDOCUMENTED +Incorrect number of words per line in the potential file. E: Illegal nb3b/harmonic parameter -UNDOCUMENTED +One or more of the coefficients defined in the potential file is +invalid. E: Potential file has duplicate entry @@ -110,45 +112,4 @@ E: Potential file is missing an entry The potential file for a SW or Tersoff potential does not have a needed entry. -U: Pair style COMB requires atom IDs - -This is a requirement to use the AIREBO potential. - -U: Pair style COMB requires newton pair on - -See the newton command. This is a restriction to use the COMB -potential. - -U: Pair style COMB requires atom attribute q - -Self-explanatory. - -U: Cannot open COMB potential file %s - -The specified COMB potential file cannot be opened. Check that the -path and name are correct. - -U: Incorrect format in COMB potential file - -Incorrect number of words per line in the potential file. - -U: Illegal COMB parameter - -One or more of the coefficients defined in the potential file is -invalid. - -U: Pair COMB charge %.10f with force %.10f hit min barrier - -Something is possibly wrong with your model. - -U: Pair COMB charge %.10f with force %.10f hit max barrier - -Something is possibly wrong with your model. - -U: 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_tersoff.h b/src/MANYBODY/pair_tersoff.h index f88a7623d2..a60d18fd71 100755 --- a/src/MANYBODY/pair_tersoff.h +++ b/src/MANYBODY/pair_tersoff.h @@ -158,8 +158,8 @@ pair_coeff command before running a simulation. E: Cannot open Tersoff potential file %s -The specified Tersoff potential file cannot be opened. Check that the -path and name are correct. +The specified potential file cannot be opened. Check that the path +and name are correct. E: Incorrect format in Tersoff potential file diff --git a/src/MANYBODY/pair_tersoff_mod.cpp b/src/MANYBODY/pair_tersoff_mod.cpp index f29b8c0c59..b452be0fa9 100644 --- a/src/MANYBODY/pair_tersoff_mod.cpp +++ b/src/MANYBODY/pair_tersoff_mod.cpp @@ -57,7 +57,7 @@ void PairTersoffMOD::read_file(char *file) FILE *fp; if (comm->me == 0) { - fp = fopen(file,"r"); + fp = open_potential(file); if (fp == NULL) { char str[128]; sprintf(str,"Cannot open Tersoff potential file %s",file); diff --git a/src/MANYBODY/pair_tersoff_mod.h b/src/MANYBODY/pair_tersoff_mod.h index 9b30bd4bee..326216ae7f 100644 --- a/src/MANYBODY/pair_tersoff_mod.h +++ b/src/MANYBODY/pair_tersoff_mod.h @@ -82,33 +82,26 @@ class PairTersoffMOD : public PairTersoff { E: Cannot open Tersoff potential file %s -UNDOCUMENTED +The specified potential file cannot be opened. Check that the path +and name are correct. E: Incorrect format in Tersoff potential file -UNDOCUMENTED +Incorrect number of words per line in the potential file. E: Illegal Tersoff parameter -UNDOCUMENTED +One or more of the coefficients defined in the potential file is +invalid. E: Potential file has duplicate entry -UNDOCUMENTED +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 -UNDOCUMENTED - -U: Illegal ... command - -Self-explanatory. Check the input script syntax and compare to the -documentation for the command. You can use -echo screen as a -command-line option when running LAMMPS to see the offending line. - -U: Region union region ID does not exist - -One or more of the region IDs specified by the region union command -does not exist. +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 01e296e92c..983b3ade4e 100755 --- a/src/MANYBODY/pair_tersoff_zbl.h +++ b/src/MANYBODY/pair_tersoff_zbl.h @@ -57,8 +57,8 @@ This is a current restriction of this pair potential. E: Cannot open Tersoff potential file %s -The specified Tersoff potential file cannot be opened. Check that the -path and name are correct. +The specified potential file cannot be opened. Check that the path +and name are correct. E: Incorrect format in Tersoff potential file diff --git a/src/MEAM/pair_meam.cpp b/src/MEAM/pair_meam.cpp index bdfc9ea159..291af44d8f 100644 --- a/src/MEAM/pair_meam.cpp +++ b/src/MEAM/pair_meam.cpp @@ -460,7 +460,7 @@ void PairMEAM::read_files(char *globalfile, char *userfile) FILE *fp; if (comm->me == 0) { - fp = fopen(globalfile,"r"); + fp = open_potential(globalfile); if (fp == NULL) { char str[128]; sprintf(str,"Cannot open MEAM potential file %s",globalfile); @@ -641,7 +641,7 @@ void PairMEAM::read_files(char *globalfile, char *userfile) // open user param file on proc 0 if (comm->me == 0) { - fp = fopen(userfile,"r"); + fp = open_potential(userfile); if (fp == NULL) { char str[128]; sprintf(str,"Cannot open MEAM potential file %s",userfile); diff --git a/src/MISC/fix_deposit.cpp b/src/MISC/fix_deposit.cpp index 371feda868..6ea10735e2 100644 --- a/src/MISC/fix_deposit.cpp +++ b/src/MISC/fix_deposit.cpp @@ -108,7 +108,7 @@ FixDeposit::FixDeposit(LAMMPS *lmp, int narg, char **arg) : if (atom->molecular == 2 && onemol != atom->avec->onemols[0]) error->all(FLERR,"Fix deposit molecule template ID must be same " - "as atom style template ID"); + "as atom_style template ID"); onemol->check_attributes(0); // fix deposit uses geoemetric center of molecule for insertion diff --git a/src/MISC/pair_nm_cut.h b/src/MISC/pair_nm_cut.h index c4f289a9d5..d155b89e85 100644 --- a/src/MISC/pair_nm_cut.h +++ b/src/MISC/pair_nm_cut.h @@ -66,71 +66,11 @@ command-line option when running LAMMPS to see the offending line. E: Incorrect args for pair coefficients -UNDOCUMENTED +Self-explanatory. Check the input script or data file. E: All pair coeffs are not set -UNDOCUMENTED - -U: 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. - -U: 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. - -U: Create_atoms region ID does not exist - -A region ID used in the create_atoms command does not exist. - -U: Invalid basis setting in create_atoms command - -UNDOCUMENTED - -U: Molecule template ID for create_atoms does not exist - -UNDOCUMENTED - -U: Molecule template for create_atoms has multiple molecules - -UNDOCUMENTED - -U: Invalid atom type in create_atoms command - -The create_box command specified the range of valid atom types. -An invalid type is being requested. - -U: Create_atoms molecule must have coordinates - -UNDOCUMENTED - -U: Create_atoms molecule must have atom types - -UNDOCUMENTED - -U: Invalid atom type in create_atoms mol command - -UNDOCUMENTED - -U: Create_atoms molecule has atom IDs, but system does not - -UNDOCUMENTED - -U: Cannot create atoms with undefined lattice - -Must use the lattice command before using the create_atoms -command. - -U: Too many total atoms - -See the setting for bigint in the src/lmptype.h file. - -U: No overlap of box and region for create_atoms - -Self-explanatory. +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/atom_vec_bond.h b/src/MOLECULE/atom_vec_bond.h index 2d04761860..13824a415f 100644 --- a/src/MOLECULE/atom_vec_bond.h +++ b/src/MOLECULE/atom_vec_bond.h @@ -85,8 +85,4 @@ E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. -U: Invalid atom ID in Atoms section of data file - -Atom IDs must be positive integers. - */ diff --git a/src/MOLECULE/atom_vec_full.h b/src/MOLECULE/atom_vec_full.h index 3398e0a0b5..90476d510e 100644 --- a/src/MOLECULE/atom_vec_full.h +++ b/src/MOLECULE/atom_vec_full.h @@ -96,8 +96,4 @@ E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. -U: Invalid atom ID in Atoms section of data file - -Atom IDs must be positive integers. - */ diff --git a/src/MOLECULE/atom_vec_molecular.h b/src/MOLECULE/atom_vec_molecular.h index b58ee56578..e8bacd31d1 100644 --- a/src/MOLECULE/atom_vec_molecular.h +++ b/src/MOLECULE/atom_vec_molecular.h @@ -94,8 +94,4 @@ E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. -U: Invalid atom ID in Atoms section of data file - -Atom IDs must be positive integers. - */ diff --git a/src/MOLECULE/atom_vec_template.h b/src/MOLECULE/atom_vec_template.h index 06f8ef2ba9..6c12ff4967 100644 --- a/src/MOLECULE/atom_vec_template.h +++ b/src/MOLECULE/atom_vec_template.h @@ -111,10 +111,4 @@ E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. -U: Illegal atom_style template command - -Self-explanatory. Check the input script syntax and compare 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/MOLECULE/bond_fene.h b/src/MOLECULE/bond_fene.h index bc5d15473b..9b12f3a09b 100644 --- a/src/MOLECULE/bond_fene.h +++ b/src/MOLECULE/bond_fene.h @@ -52,7 +52,7 @@ class BondFENE : public Bond { /* ERROR/WARNING messages: -W: FENE bond too long: %ld %ld %ld %g +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. diff --git a/src/MOLECULE/bond_fene_expand.h b/src/MOLECULE/bond_fene_expand.h index 96b685f404..d25b0edfb0 100644 --- a/src/MOLECULE/bond_fene_expand.h +++ b/src/MOLECULE/bond_fene_expand.h @@ -52,7 +52,7 @@ class BondFENEExpand : public Bond { /* ERROR/WARNING messages: -W: FENE bond too long: %ld %ld %ld %g +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. diff --git a/src/MOLECULE/dihedral_charmm.h b/src/MOLECULE/dihedral_charmm.h index 0f9af45470..a35d342145 100644 --- a/src/MOLECULE/dihedral_charmm.h +++ b/src/MOLECULE/dihedral_charmm.h @@ -52,7 +52,7 @@ class DihedralCharmm : public Dihedral { /* ERROR/WARNING messages: -W: Dihedral problem: %d %ld %ld %ld %ld %ld +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. diff --git a/src/MOLECULE/dihedral_harmonic.h b/src/MOLECULE/dihedral_harmonic.h index 150a94ac72..69d4fb22cd 100644 --- a/src/MOLECULE/dihedral_harmonic.h +++ b/src/MOLECULE/dihedral_harmonic.h @@ -49,7 +49,7 @@ class DihedralHarmonic : public Dihedral { /* ERROR/WARNING messages: -W: Dihedral problem: %d %ld %ld %ld %ld %ld +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. diff --git a/src/MOLECULE/dihedral_helix.h b/src/MOLECULE/dihedral_helix.h index 753852941b..1e34ff4712 100644 --- a/src/MOLECULE/dihedral_helix.h +++ b/src/MOLECULE/dihedral_helix.h @@ -47,7 +47,7 @@ class DihedralHelix : public Dihedral { /* ERROR/WARNING messages: -W: Dihedral problem: %d %ld %ld %ld %ld %ld +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. diff --git a/src/MOLECULE/dihedral_multi_harmonic.h b/src/MOLECULE/dihedral_multi_harmonic.h index 1fd54ad318..c833168139 100644 --- a/src/MOLECULE/dihedral_multi_harmonic.h +++ b/src/MOLECULE/dihedral_multi_harmonic.h @@ -47,7 +47,7 @@ class DihedralMultiHarmonic : public Dihedral { /* ERROR/WARNING messages: -W: Dihedral problem: %d %ld %ld %ld %ld %ld +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. diff --git a/src/MOLECULE/dihedral_opls.h b/src/MOLECULE/dihedral_opls.h index c53dca322f..238a67cf3c 100644 --- a/src/MOLECULE/dihedral_opls.h +++ b/src/MOLECULE/dihedral_opls.h @@ -48,7 +48,7 @@ class DihedralOPLS : public Dihedral { /* ERROR/WARNING messages: -W: Dihedral problem: %d %ld %ld %ld %ld %ld +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. diff --git a/src/MOLECULE/improper_cvff.h b/src/MOLECULE/improper_cvff.h index 633383c891..7717fe7b64 100644 --- a/src/MOLECULE/improper_cvff.h +++ b/src/MOLECULE/improper_cvff.h @@ -49,7 +49,7 @@ class ImproperCvff : public Improper { /* ERROR/WARNING messages: -W: Improper problem: %d %ld %ld %ld %ld %ld +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. diff --git a/src/MOLECULE/improper_harmonic.h b/src/MOLECULE/improper_harmonic.h index 69cc38ad57..b8897e66ac 100644 --- a/src/MOLECULE/improper_harmonic.h +++ b/src/MOLECULE/improper_harmonic.h @@ -48,7 +48,7 @@ class ImproperHarmonic : public Improper { /* ERROR/WARNING messages: -W: Improper problem: %d %ld %ld %ld %ld %ld +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. diff --git a/src/MOLECULE/improper_umbrella.h b/src/MOLECULE/improper_umbrella.h index c724b644a2..3d005aa105 100644 --- a/src/MOLECULE/improper_umbrella.h +++ b/src/MOLECULE/improper_umbrella.h @@ -47,7 +47,7 @@ class ImproperUmbrella : public Improper { /* ERROR/WARNING messages: -W: Improper problem: %d %ld %ld %ld %ld %ld +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. diff --git a/src/MOLECULE/pair_lj_charmm_coul_charmm.cpp b/src/MOLECULE/pair_lj_charmm_coul_charmm.cpp index 65993c6789..390e21d331 100644 --- a/src/MOLECULE/pair_lj_charmm_coul_charmm.cpp +++ b/src/MOLECULE/pair_lj_charmm_coul_charmm.cpp @@ -105,10 +105,10 @@ void PairLJCharmmCoulCharmm::compute(int eflag, int vflag) for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; - jtype = type[j]; factor_lj = special_lj[sbmask(j)]; factor_coul = special_coul[sbmask(j)]; j &= NEIGHMASK; + jtype = type[j]; delx = xtmp - x[j][0]; dely = ytmp - x[j][1]; diff --git a/src/MOLECULE/pair_lj_cut_tip4p_cut.h b/src/MOLECULE/pair_lj_cut_tip4p_cut.h index 354027769c..79da7bcb82 100644 --- a/src/MOLECULE/pair_lj_cut_tip4p_cut.h +++ b/src/MOLECULE/pair_lj_cut_tip4p_cut.h @@ -91,15 +91,16 @@ Self-explanatory. Check the input script or data file. E: Pair style lj/cut/tip4p/cut requires atom IDs -UNDOCUMENTED +This is a requirement to use this potential. E: Pair style lj/cut/tip4p/cut requires newton pair on -UNDOCUMENTED +See the newton command. This is a restriction to use this +potential. E: Pair style lj/cut/tip4p/cut requires atom attribute q -UNDOCUMENTED +The atom style defined does not have this attribute. E: Must use a bond style with TIP4P potential @@ -113,6 +114,7 @@ command. E: Water H epsilon must be 0.0 for pair style lj/cut/tip4p/cut -UNDOCUMENTED +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 c20d856aa3..f99e7744e8 100644 --- a/src/MOLECULE/pair_tip4p_cut.h +++ b/src/MOLECULE/pair_tip4p_cut.h @@ -86,15 +86,15 @@ Self-explanatory. Check the input script or data file. E: Pair style tip4p/cut requires atom IDs -UNDOCUMENTED +This is a requirement to use this potential. E: Pair style tip4p/cut requires newton pair on -UNDOCUMENTED +See the newton command. This is a restriction to use this potential. E: Pair style tip4p/cut requires atom attribute q -UNDOCUMENTED +The atom style defined does not have this attribute. E: Must use a bond style with TIP4P potential diff --git a/src/MPIIO/dump_atom_mpiio.cpp b/src/MPIIO/dump_atom_mpiio.cpp index e78b5cd444..060d8c0276 100644 --- a/src/MPIIO/dump_atom_mpiio.cpp +++ b/src/MPIIO/dump_atom_mpiio.cpp @@ -546,7 +546,7 @@ int DumpAtomMPIIO::convert_string_omp(int n, double *mybuf) int DumpAtomMPIIO::convert_image_omp(int n, double *mybuf) { - MPI_Status mpiStatus; + double *localbuf = mybuf; char **mpifh_buffer_line_per_thread; int mpifhStringCount; int *mpifhStringCountPerThread, *bufOffset, *bufRange, *bufLength; @@ -581,7 +581,7 @@ int DumpAtomMPIIO::convert_image_omp(int n, double *mybuf) mpifh_buffer_line_per_thread[i] = (char *) malloc(DUMP_BUF_CHUNK_SIZE * sizeof(char)); mpifh_buffer_line_per_thread[i][0] = '\0'; -#pragma omp parallel default(none) +#pragma omp parallel default(none) shared(localbuf,bufLength,bufOffset,bufRange,mpifhStringCountPerThread,mpifh_buffer_line_per_thread) { int tid = omp_get_thread_num(); int m=0; @@ -593,7 +593,7 @@ int DumpAtomMPIIO::convert_image_omp(int n, double *mybuf) bufLength[tid] = (mpifhStringCountPerThread[tid]+DUMP_BUF_CHUNK_SIZE) * sizeof(char); } - mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),format,static_cast (mybuf[bufOffset[tid]+m]),static_cast (mybuf[bufOffset[tid]+m+1]),mybuf[bufOffset[tid]+m+2],mybuf[bufOffset[tid]+m+3],mybuf[bufOffset[tid]+m+4],static_cast (mybuf[bufOffset[tid]+m+5]),static_cast (mybuf[bufOffset[tid]+m+6]),static_cast (mybuf[bufOffset[tid]+m+7])); + mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),format,static_cast (localbuf[bufOffset[tid]+m]),static_cast (localbuf[bufOffset[tid]+m+1]),localbuf[bufOffset[tid]+m+2],localbuf[bufOffset[tid]+m+3],localbuf[bufOffset[tid]+m+4],static_cast (localbuf[bufOffset[tid]+m+5]),static_cast (localbuf[bufOffset[tid]+m+6]),static_cast (localbuf[bufOffset[tid]+m+7])); m += size_one; } } @@ -637,7 +637,7 @@ int DumpAtomMPIIO::convert_image_omp(int n, double *mybuf) int DumpAtomMPIIO::convert_noimage_omp(int n, double *mybuf) { - MPI_Status mpiStatus; + double *localbuf = mybuf; char **mpifh_buffer_line_per_thread; int mpifhStringCount; int *mpifhStringCountPerThread, *bufOffset, *bufRange, *bufLength; @@ -672,7 +672,7 @@ int DumpAtomMPIIO::convert_noimage_omp(int n, double *mybuf) mpifh_buffer_line_per_thread[i] = (char *) malloc(DUMP_BUF_CHUNK_SIZE * sizeof(char)); mpifh_buffer_line_per_thread[i][0] = '\0'; -#pragma omp parallel default(none) +#pragma omp parallel default(none) shared(localbuf,bufLength,bufOffset,bufRange,mpifhStringCountPerThread,mpifh_buffer_line_per_thread) { int tid = omp_get_thread_num(); int m=0; @@ -684,7 +684,7 @@ int DumpAtomMPIIO::convert_noimage_omp(int n, double *mybuf) bufLength[tid] = (mpifhStringCountPerThread[tid]+DUMP_BUF_CHUNK_SIZE) * sizeof(char); } - mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),format,static_cast (mybuf[bufOffset[tid]+m]),static_cast (mybuf[bufOffset[tid]+m+1]),mybuf[bufOffset[tid]+m+2],mybuf[bufOffset[tid]+m+3],mybuf[bufOffset[tid]+m+4]); + mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),format,static_cast (localbuf[bufOffset[tid]+m]),static_cast (localbuf[bufOffset[tid]+m+1]),localbuf[bufOffset[tid]+m+2],localbuf[bufOffset[tid]+m+3],localbuf[bufOffset[tid]+m+4]); m += size_one; } } diff --git a/src/MPIIO/dump_custom_mpiio.cpp b/src/MPIIO/dump_custom_mpiio.cpp index 7d17f4ed9f..461421253e 100644 --- a/src/MPIIO/dump_custom_mpiio.cpp +++ b/src/MPIIO/dump_custom_mpiio.cpp @@ -566,7 +566,7 @@ void DumpCustomMPIIO::write_string(int n, double *mybuf) int DumpCustomMPIIO::convert_string_omp(int n, double *mybuf) { - MPI_Status mpiStatus; + double *localbuf = mybuf; char **mpifh_buffer_line_per_thread; int mpifhStringCount; int *mpifhStringCountPerThread, *bufOffset, *bufRange, *bufLength; @@ -601,7 +601,7 @@ int DumpCustomMPIIO::convert_string_omp(int n, double *mybuf) mpifh_buffer_line_per_thread[i] = (char *) malloc(DUMP_BUF_CHUNK_SIZE * sizeof(char)); mpifh_buffer_line_per_thread[i][0] = '\0'; -#pragma omp parallel default(none) +#pragma omp parallel default(none) shared(localbuf,bufLength,bufOffset,bufRange,mpifhStringCountPerThread,mpifh_buffer_line_per_thread) { int tid = omp_get_thread_num(); int m=0; @@ -615,11 +615,11 @@ int DumpCustomMPIIO::convert_string_omp(int n, double *mybuf) for (int j = 0; j < size_one; j++) { if (vtype[j] == INT) - mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),vformat[j],static_cast (mybuf[bufOffset[tid]+m])); + mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),vformat[j],static_cast (localbuf[bufOffset[tid]+m])); else if (vtype[j] == DOUBLE) - mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),vformat[j],mybuf[bufOffset[tid]+m]); + mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),vformat[j],localbuf[bufOffset[tid]+m]); else if (vtype[j] == STRING) - mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),vformat[j],typenames[(int) mybuf[bufOffset[tid]+m]]); + mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),vformat[j],typenames[(int) localbuf[bufOffset[tid]+m]]); m ++; } mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),"\n"); diff --git a/src/MPIIO/dump_xyz_mpiio.cpp b/src/MPIIO/dump_xyz_mpiio.cpp index 4457260989..fe1f65fc3c 100644 --- a/src/MPIIO/dump_xyz_mpiio.cpp +++ b/src/MPIIO/dump_xyz_mpiio.cpp @@ -308,7 +308,7 @@ void DumpXYZMPIIO::write_string(int n, double *mybuf) int DumpXYZMPIIO::convert_string_omp(int n, double *mybuf) { - MPI_Status mpiStatus; + double *localbuf = mybuf; char **mpifh_buffer_line_per_thread; int mpifhStringCount; int *mpifhStringCountPerThread, *bufOffset, *bufRange, *bufLength; @@ -343,7 +343,7 @@ int DumpXYZMPIIO::convert_string_omp(int n, double *mybuf) mpifh_buffer_line_per_thread[i] = (char *) malloc(DUMP_BUF_CHUNK_SIZE * sizeof(char)); mpifh_buffer_line_per_thread[i][0] = '\0'; -#pragma omp parallel default(none) +#pragma omp parallel default(none) shared(localbuf,bufLength,bufOffset,bufRange,mpifhStringCountPerThread,mpifh_buffer_line_per_thread) { int tid = omp_get_thread_num(); int m=0; @@ -355,7 +355,7 @@ int DumpXYZMPIIO::convert_string_omp(int n, double *mybuf) bufLength[tid] = (mpifhStringCountPerThread[tid]+DUMP_BUF_CHUNK_SIZE) * sizeof(char); } - mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),format,typenames[static_cast (mybuf[bufOffset[tid]+m+1])],mybuf[bufOffset[tid]+m+2],mybuf[bufOffset[tid]+m+3],mybuf[bufOffset[tid]+m+4]); + mpifhStringCountPerThread[tid] += sprintf(&(mpifh_buffer_line_per_thread[tid][mpifhStringCountPerThread[tid]]),format,typenames[static_cast (localbuf[bufOffset[tid]+m+1])],localbuf[bufOffset[tid]+m+2],localbuf[bufOffset[tid]+m+3],localbuf[bufOffset[tid]+m+4]); m += size_one; } diff --git a/src/MPIIO/restart_mpiio.cpp b/src/MPIIO/restart_mpiio.cpp index 1e10bd3b6a..55935d09d3 100644 --- a/src/MPIIO/restart_mpiio.cpp +++ b/src/MPIIO/restart_mpiio.cpp @@ -45,7 +45,7 @@ void RestartMPIIO::openForRead(char *filename) char mpiErrorString[MPI_MAX_ERROR_STRING]; int mpiErrorStringLength; MPI_Error_string(err, mpiErrorString, &mpiErrorStringLength); - sprintf(str,"Cannot open restart file for reading - mpi error: %s\n", + sprintf(str,"Cannot open restart file for reading - MPI error: %s", mpiErrorString); error->one(FLERR,str); } @@ -65,7 +65,7 @@ void RestartMPIIO::openForWrite(char *filename) char mpiErrorString[MPI_MAX_ERROR_STRING]; int mpiErrorStringLength; MPI_Error_string(err, mpiErrorString, &mpiErrorStringLength); - sprintf(str,"Cannot open restart file for writing - mpi error: %s\n", + sprintf(str,"Cannot open restart file for writing - MPI error: %s", mpiErrorString); error->one(FLERR,str); } @@ -96,7 +96,7 @@ void RestartMPIIO::write(MPI_Offset headerOffset, int send_size, double *buf) char mpiErrorString[MPI_MAX_ERROR_STRING]; int mpiErrorStringLength; MPI_Error_string(err, mpiErrorString, &mpiErrorStringLength); - sprintf(str,"Cannot set restart file size - mpi error: %s\n", + sprintf(str,"Cannot set restart file size - MPI error: %s", mpiErrorString); error->one(FLERR,str); } @@ -109,7 +109,7 @@ void RestartMPIIO::write(MPI_Offset headerOffset, int send_size, double *buf) char mpiErrorString[MPI_MAX_ERROR_STRING]; int mpiErrorStringLength; MPI_Error_string(err, mpiErrorString, &mpiErrorStringLength); - sprintf(str,"Cannot write to restart file - mpi error: %s\n", + sprintf(str,"Cannot write to restart file - MPI error: %s", mpiErrorString); error->one(FLERR,str); } @@ -143,7 +143,7 @@ void RestartMPIIO::read(MPI_Offset chunkOffset, bigint chunkSize, double *buf) char mpiErrorString[MPI_MAX_ERROR_STRING]; int mpiErrorStringLength; MPI_Error_string(err, mpiErrorString, &mpiErrorStringLength); - sprintf(str,"Cannot read from restart file - mpi error: %s\n", + sprintf(str,"Cannot read from restart file - MPI error: %s", mpiErrorString); error->one(FLERR,str); } @@ -167,7 +167,7 @@ void RestartMPIIO::read(MPI_Offset chunkOffset, bigint chunkSize, double *buf) char mpiErrorString[MPI_MAX_ERROR_STRING]; int mpiErrorStringLength; MPI_Error_string(err, mpiErrorString, &mpiErrorStringLength); - sprintf(str,"Cannot read from restart file - mpi error: %s\n", + sprintf(str,"Cannot read from restart file - MPI error: %s", mpiErrorString); error->one(FLERR,str); } @@ -188,7 +188,7 @@ void RestartMPIIO::close() char mpiErrorString[MPI_MAX_ERROR_STRING]; int mpiErrorStringLength; MPI_Error_string(err, mpiErrorString, &mpiErrorStringLength); - sprintf(str,"Cannot close restart file - mpi error: %s\n",mpiErrorString); + sprintf(str,"Cannot close restart file - MPI error: %s",mpiErrorString); error->one(FLERR,str); } } diff --git a/src/MPIIO/restart_mpiio.h b/src/MPIIO/restart_mpiio.h index c7cff9e6f3..e5174716ec 100644 --- a/src/MPIIO/restart_mpiio.h +++ b/src/MPIIO/restart_mpiio.h @@ -41,28 +41,34 @@ class RestartMPIIO : protected Pointers { /* ERROR/WARNING messages: -E: Cannot open restart file for reading - mpi error: %s\n +E: Cannot open restart file for reading - MPI error: %s -UNDOCUMENTED +This error was generated by MPI when reading/writing an MPI-IO restart +file. -E: Cannot open restart file for writing - mpi error: %s\n +E: Cannot open restart file for writing - MPI error: %s -UNDOCUMENTED +This error was generated by MPI when reading/writing an MPI-IO restart +file. -E: Cannot set restart file size - mpi error: %s\n +E: Cannot set restart file size - MPI error: %s -UNDOCUMENTED +This error was generated by MPI when reading/writing an MPI-IO restart +file. -E: Cannot write to restart file - mpi error: %s\n +E: Cannot write to restart file - MPI error: %s -UNDOCUMENTED +This error was generated by MPI when reading/writing an MPI-IO restart +file. -E: Cannot read from restart file - mpi error: %s\n +E: Cannot read from restart file - MPI error: %s -UNDOCUMENTED +This error was generated by MPI when reading/writing an MPI-IO restart +file. -E: Cannot close restart file - mpi error: %s\n +E: Cannot close restart file - MPI error: %s -UNDOCUMENTED +This error was generated by MPI when reading/writing an MPI-IO restart +file. */ diff --git a/src/PERI/atom_vec_peri.h b/src/PERI/atom_vec_peri.h index f032e3b966..c3a1252d1a 100755 --- a/src/PERI/atom_vec_peri.h +++ b/src/PERI/atom_vec_peri.h @@ -86,8 +86,4 @@ E: Invalid mass value Self-explanatory. -U: Invalid atom ID in Atoms section of data file - -Atom IDs must be positive integers. - */ diff --git a/src/PERI/fix_peri_neigh.cpp b/src/PERI/fix_peri_neigh.cpp index cd6e3d5c81..23e0a392af 100644 --- a/src/PERI/fix_peri_neigh.cpp +++ b/src/PERI/fix_peri_neigh.cpp @@ -119,6 +119,17 @@ void FixPeriNeigh::init() neighbor->requests[irequest]->half = 0; neighbor->requests[irequest]->full = 1; neighbor->requests[irequest]->occasional = 1; + + // compute PD scale factor, stored in Atom class, used by DumpCFG + + int nlocal = atom->nlocal; + double vone = 0.0; + for (int i = 0; i < nlocal; i++) vone += atom->vfrac[i]; + double vave; + MPI_Allreduce(&vone,&vave,1,MPI_DOUBLE,MPI_SUM,world); + if (atom->natoms) vave /= atom->natoms; + if (vave > 0.0) atom->pdscale = 1.44 / pow(vave,1.0/3.0); + else atom->pdscale = 1.0; } /* ---------------------------------------------------------------------- */ diff --git a/src/PERI/pair_peri_lps.h b/src/PERI/pair_peri_lps.h index cadbca6dd2..c9b063feea 100644 --- a/src/PERI/pair_peri_lps.h +++ b/src/PERI/pair_peri_lps.h @@ -102,8 +102,4 @@ E: Divide by 0 in influence function of pair peri/lps This should not normally occur. It is likely a problem with your model. -U: Pair peri requires a lattice be defined - -Use the lattice command for this purpose. - */ diff --git a/src/PERI/pair_peri_pmb.h b/src/PERI/pair_peri_pmb.h index b69fe4c3a7..23cc7cc47f 100644 --- a/src/PERI/pair_peri_pmb.h +++ b/src/PERI/pair_peri_pmb.h @@ -91,8 +91,4 @@ E: Fix peri neigh does not exist Somehow a fix that the pair style defines has been deleted. -U: Pair peri requires a lattice be defined - -Use the lattice command for this purpose. - */ diff --git a/src/Package.sh b/src/Package.sh index 839481c1b5..80677665eb 100644 --- a/src/Package.sh +++ b/src/Package.sh @@ -78,9 +78,9 @@ elif (test $2 = "diff") then echo " src/$file does not exist" elif (! cmp -s $file ../$file) then echo "************************************************" - echo "diff $1/$file src/$file " + echo "diff -u $1/$file src/$file " echo "************************************************" - diff $file ../$file + diff -u $file ../$file fi done fi diff --git a/src/Purge.list b/src/Purge.list index 7f53e9c67a..992f1719ae 100644 --- a/src/Purge.list +++ b/src/Purge.list @@ -24,6 +24,8 @@ pair_dipole_sf.h pair_dipole_sf.cpp pair_dipole_sf_omp.h pair_dipole_sf_omp.cpp +pair_dipole_sf_gpu.h +pair_dipole_sf_gpu.cpp # deleted on Wed May 8 15:24:36 2013 +0000 compute_spec_atom.cpp compute_spec_atom.h diff --git a/src/REPLICA/tad.cpp b/src/REPLICA/tad.cpp index 3e3171f741..87e3ba0051 100644 --- a/src/REPLICA/tad.cpp +++ b/src/REPLICA/tad.cpp @@ -100,7 +100,14 @@ void TAD::command(int narg, char **arg) char *id_compute = new char[strlen(arg[6])+1]; strcpy(id_compute,arg[6]); + + // quench minimizer is set by min_style command + // NEB minimizer is set by options, default = quickmin + int n = strlen(update->minimize_style) + 1; + min_style = new char[n]; + strcpy(min_style,update->minimize_style); + options(narg-7,&arg[7]); // total # of timesteps must be multiple of t_event @@ -255,7 +262,6 @@ void TAD::command(int narg, char **arg) update->whichflag = 1; lmp->init(); update->integrate->setup(); - // } // main loop: look for events until out of time // (1) dynamics, store state, quench, check event, restore state @@ -579,10 +585,10 @@ void TAD::options(int narg, char **arg) n2steps_neb = 100; nevery_neb = 10; - min_style = new char[3]; - strcpy(min_style,"cg"); - min_style_neb = new char[9]; + int n = strlen("quickmin") + 1; + min_style_neb = new char[n]; strcpy(min_style_neb,"quickmin"); + dt_neb = update->dt; neb_logfilename = NULL; int iarg = 0; @@ -610,22 +616,20 @@ void TAD::options(int narg, char **arg) nevery_neb < 0) error->all(FLERR,"Illegal tad command"); iarg += 6; - } else if (strcmp(arg[iarg],"min_style") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal tad command"); - int n = strlen(arg[iarg+1]) + 1; - delete [] min_style; - min_style = new char[n]; - strcpy(min_style,arg[iarg+1]); - iarg += 2; - } else if (strcmp(arg[iarg],"neb_style") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal tad command"); - int n = strlen(arg[iarg+1]) + 1; delete [] min_style_neb; + int n = strlen(arg[iarg+1]) + 1; min_style_neb = new char[n]; strcpy(min_style_neb,arg[iarg+1]); iarg += 2; + } else if (strcmp(arg[iarg],"neb_step") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal tad command"); + dt_neb = force->numeric(FLERR,arg[iarg+1]); + if (dt_neb <= 0.0) error->all(FLERR,"Illegal tad command"); + iarg += 2; + } else if (strcmp(arg[iarg],"neb_log") == 0) { delete [] neb_logfilename; if (iarg+2 > narg) error->all(FLERR,"Illegal tad command"); @@ -725,7 +729,7 @@ void TAD::perform_neb(int ievent) memory->destroy(buf_init); memory->destroy(buf_final); - // run NEB + // run NEB with NEB timestep int beginstep_hold = update->beginstep; int endstep_hold = update->endstep; @@ -737,18 +741,22 @@ void TAD::perform_neb(int ievent) universe->uscreen = uscreen_neb; } - // Had to bypass timer interface - // because timer->array is reset - // inside neb->run() + // had to bypass timer interface + // because timer->array is reset inside neb->run() -// timer->barrier_start(TIME_LOOP); -// neb->run(); -// timer->barrier_stop(TIME_LOOP); -// time_neb += timer->array[TIME_LOOP]; + // timer->barrier_start(TIME_LOOP); + // neb->run(); + // timer->barrier_stop(TIME_LOOP); + // time_neb += timer->array[TIME_LOOP]; MPI_Barrier(world); double time_tmp = MPI_Wtime(); + + double dt_hold = update->dt; + update->dt = dt_neb; neb->run(); + update->dt = dt_hold; + MPI_Barrier(world); time_neb += MPI_Wtime() - time_tmp; diff --git a/src/REPLICA/tad.h b/src/REPLICA/tad.h index 461ed1b04a..b9926ac86a 100644 --- a/src/REPLICA/tad.h +++ b/src/REPLICA/tad.h @@ -34,7 +34,7 @@ class TAD : protected Pointers { int me,nprocs; int nsteps,t_event; double templo,temphi,delta_conf,tmax; - double etol,ftol,etol_neb,ftol_neb; + 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; diff --git a/src/REPLICA/verlet_split.h b/src/REPLICA/verlet_split.h index 6d07e7bbe6..586d52f598 100644 --- a/src/REPLICA/verlet_split.h +++ b/src/REPLICA/verlet_split.h @@ -77,6 +77,6 @@ command must be used. E: Verlet/split does not yet support TIP4P -UNDOCUMENTED +This is a current limitation. */ diff --git a/src/RIGID/fix_rigid_small.h b/src/RIGID/fix_rigid_small.h index 5b2f5db3c8..e3df283a59 100644 --- a/src/RIGID/fix_rigid_small.h +++ b/src/RIGID/fix_rigid_small.h @@ -288,7 +288,7 @@ 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 %ld %ld missing on proc %d at step %ld +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 diff --git a/src/RIGID/fix_shake.cpp b/src/RIGID/fix_shake.cpp index 2c6ca9f7b1..8741cf464a 100644 --- a/src/RIGID/fix_shake.cpp +++ b/src/RIGID/fix_shake.cpp @@ -649,8 +649,6 @@ void FixShake::find_clusters() tagint tagprev; double massone; tagint *buf; - MPI_Request request; - MPI_Status status; if (me == 0 && screen) fprintf(screen,"Finding SHAKE clusters ...\n"); diff --git a/src/RIGID/fix_shake.h b/src/RIGID/fix_shake.h index e35bb43eaa..46ba9d738d 100644 --- a/src/RIGID/fix_shake.h +++ b/src/RIGID/fix_shake.h @@ -206,19 +206,19 @@ 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 %ld %ld missing on proc %d at step %ld +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 %ld %ld %ld missing on proc %d at step %ld +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 %ld %ld %ld %ld missing on proc %d at step %ld +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 diff --git a/src/SHOCK/fix_append_atoms.cpp b/src/SHOCK/fix_append_atoms.cpp index 295337e6f0..5e7af01f6e 100644 --- a/src/SHOCK/fix_append_atoms.cpp +++ b/src/SHOCK/fix_append_atoms.cpp @@ -315,7 +315,8 @@ int FixAppendAtoms::get_spatial() if (domain->boxhi[2] - shockfront_loc < spatlead) advance = 1; - delete [] pos,val; + delete [] pos; + delete [] val; } advance_sum = 0; @@ -453,7 +454,6 @@ void FixAppendAtoms::pre_exchange() double x[3]; double *sublo = domain->sublo; double *subhi = domain->subhi; - double *mass = atom->mass; int i,j,k,m; for (k = klo; k <= khi; k++) { diff --git a/src/SHOCK/fix_wall_piston.h b/src/SHOCK/fix_wall_piston.h index ea2b433571..db62606c9c 100644 --- a/src/SHOCK/fix_wall_piston.h +++ b/src/SHOCK/fix_wall_piston.h @@ -74,8 +74,4 @@ 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. -U: Use of fix wall/piston with undefined lattice - -A lattice must be defined before using this fix. - */ diff --git a/src/SRD/fix_srd.h b/src/SRD/fix_srd.h index 6fc88d71b6..a598c89149 100644 --- a/src/SRD/fix_srd.h +++ b/src/SRD/fix_srd.h @@ -335,12 +335,12 @@ 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 %ld started inside big particle %ld on step %ld bounce %d +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 %ld started inside big particle %ld on step %ld bounce %d +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. diff --git a/src/SRD/fix_wall_srd.h b/src/SRD/fix_wall_srd.h index ab02b79d0c..31cf15d662 100644 --- a/src/SRD/fix_wall_srd.h +++ b/src/SRD/fix_wall_srd.h @@ -90,9 +90,4 @@ E: Variable for fix wall/srd is invalid style Only equal-style variables can be used. -U: Use of fix wall with undefined lattice - -Must use lattice command with fix wall command if units option is set -to lattice. - */ diff --git a/src/USER-ATC/fix_atc.cpp b/src/USER-ATC/fix_atc.cpp index 2092340677..7e873b64d5 100644 --- a/src/USER-ATC/fix_atc.cpp +++ b/src/USER-ATC/fix_atc.cpp @@ -38,6 +38,7 @@ #include "stdio.h" #include "string.h" #include +#include using namespace LAMMPS_NS; using namespace FixConst; @@ -288,7 +289,7 @@ FixATC::FixATC(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), int me = ATC::LammpsInterface::instance()->comm_rank(); - string groupName(arg[1]); + std::string groupName(arg[1]); int igroup = group->find(groupName.c_str()); int atomCount = group->count(igroup); diff --git a/src/USER-CG-CMM/pair_cmm_common.cpp b/src/USER-CG-CMM/pair_cmm_common.cpp index 4856f5c00e..e69de29bb2 100644 --- a/src/USER-CG-CMM/pair_cmm_common.cpp +++ b/src/USER-CG-CMM/pair_cmm_common.cpp @@ -1,479 +0,0 @@ -/* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - Common functionality for the CMM coarse grained MD potentials. - Contributing author: Axel Kohlmeyer -------------------------------------------------------------------------- */ - -#include "pair_cmm_common.h" -#include "memory.h" - -#include "stdlib.h" -#include "string.h" -#include "ctype.h" -#include "math.h" -#include "math_const.h" - -using namespace LAMMPS_NS; -using namespace MathConst; - -#define SMALL 1.0e-6 - -/* ---------------------------------------------------------------------- */ - -PairCMMCommon::PairCMMCommon(class LAMMPS *lmp) : Pair(lmp) -{ - ftable = NULL; - allocated_coul = 0; - kappa = 0.0; - respa_enable = 0; - single_enable = 0; -} - -/* ---------------------------------------------------------------------- * - * clean up common arrays * - * ---------------------------------------------------------------------- */ - -PairCMMCommon::~PairCMMCommon() { - if (allocated) { - memory->destroy(setflag); - memory->destroy(cg_type); - - memory->destroy(cut); - memory->destroy(cutsq); - memory->destroy(epsilon); - memory->destroy(sigma); - memory->destroy(offset); - - memory->destroy(lj1); - memory->destroy(lj2); - memory->destroy(lj3); - memory->destroy(lj4); - - allocated = 0; - } -} - -/* ---------------------------------------------------------------------- * - * allocate common arrays * - * ---------------------------------------------------------------------- */ - -void PairCMMCommon::allocate() -{ - allocated = 1; - int n = atom->ntypes; - - memory->create(setflag,n+1,n+1,"paircg:setflag"); - memory->create(cg_type,n+1,n+1,"paircg:cg_type"); - for (int i = 1; i <= n; i++) { - for (int j = i; j <= n; j++) { - setflag[i][j] = 0; - cg_type[i][j] = CG_NOT_SET; - } - } - - memory->create(cut,n+1,n+1,"paircg:cut"); - memory->create(cutsq,n+1,n+1,"paircg:cutsq"); - memory->create(epsilon,n+1,n+1,"paircg:epsilon"); - memory->create(sigma,n+1,n+1,"paircg:sigma"); - memory->create(offset,n+1,n+1,"paircg:offset"); - - memory->create(lj1,n+1,n+1,"paircg:lj1"); - memory->create(lj2,n+1,n+1,"paircg:lj2"); - memory->create(lj3,n+1,n+1,"paircg:lj3"); - memory->create(lj4,n+1,n+1,"paircg:lj4"); -} - -/* ---------------------------------------------------------------------- - global settings -------------------------------------------------------------------------- */ - -// arguments to the pair_style command (global version) -// args = cutoff (cutoff2 (kappa)) -void PairCMMCommon::settings(int narg, char **arg) -{ - if ((narg < 1) || (narg > 3)) error->all(FLERR,"Illegal pair_style command"); - - cut_lj_global = force->numeric(FLERR,arg[0]); - if (narg == 1) cut_coul_global = cut_lj_global; - else cut_coul_global = force->numeric(FLERR,arg[1]); - cut_coulsq_global = cut_coul_global*cut_coul_global; - - // exponential coulomb screening (optional) - if (narg == 3) kappa = force->numeric(FLERR,arg[2]); - if (fabs(kappa) < SMALL) kappa=0.0; - - // reset cutoffs that have been explicitly set - if (allocated) { - int i,j; - for (i = 1; i <= atom->ntypes; i++) { - for (j = i+1; j <= atom->ntypes; j++) { - if (setflag[i][j]) { - cut[i][j] = cut_lj_global; - if (allocated_coul) { - cut[i][j] = MAX(cut_lj_global,cut_coul_global); - cut_lj[i][j] = cut_lj_global; - cut_coul[i][j] = cut_coul_global; - } - } - } - } - } -} - -/* ---------------------------------------------------------------------- - set coeffs for one or more type pairs -------------------------------------------------------------------------- */ - -void PairCMMCommon::coeff(int narg, char **arg) -{ - if (narg < 5 || narg > 7) error->all(FLERR,"Incorrect args for pair coefficients"); - if (!allocated) allocate(); - - int ilo,ihi,jlo,jhi; - force->bounds(arg[0],atom->ntypes,ilo,ihi); - force->bounds(arg[1],atom->ntypes,jlo,jhi); - - int cg_type_one=find_cg_type(arg[2]); - if (cg_type_one == CG_NOT_SET) error->all(FLERR,"Error reading CG type flag."); - - double epsilon_one = force->numeric(FLERR,arg[3]); - double sigma_one = force->numeric(FLERR,arg[4]); - - double cut_lj_one = cut_lj_global; - double cut_coul_one = cut_coul_global; - if (narg >= 6) cut_lj_one = force->numeric(FLERR,arg[5]); - if (narg == 7) cut_coul_one = force->numeric(FLERR,arg[6]); - - int count = 0; - for (int i = ilo; i <= ihi; i++) { - for (int j = MAX(jlo,i); j <= jhi; j++) { - cg_type[i][j] = cg_type_one; - epsilon[i][j] = epsilon_one; - sigma[i][j] = sigma_one; - setflag[i][j] = 1; - - if (allocated_coul) { - cut_lj[i][j] = cut_lj_one; - cut_coul[i][j] = cut_coul_one; - } else { - cut[i][j] = cut_lj_one; - } - - count++; - } - } - - if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); -} - -/* ---------------------------------------------------------------------- - init specific to this pair style -------------------------------------------------------------------------- */ - -void PairCMMCommon::init_style() -{ - // request regular or rRESPA neighbor lists - - int irequest; - - if (update->whichflag == 0 && strstr(update->integrate_style,"respa")) { - int respa = 0; - if (((Respa *) update->integrate)->level_inner >= 0) respa = 1; - if (((Respa *) update->integrate)->level_middle >= 0) respa = 2; - - if (respa == 0) irequest = neighbor->request(this); - else if (respa == 1) { - irequest = neighbor->request(this); - neighbor->requests[irequest]->id = 1; - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->respainner = 1; - irequest = neighbor->request(this); - neighbor->requests[irequest]->id = 3; - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->respaouter = 1; - } else { - irequest = neighbor->request(this); - neighbor->requests[irequest]->id = 1; - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->respainner = 1; - irequest = neighbor->request(this); - neighbor->requests[irequest]->id = 2; - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->respamiddle = 1; - irequest = neighbor->request(this); - neighbor->requests[irequest]->id = 3; - neighbor->requests[irequest]->half = 0; - neighbor->requests[irequest]->respaouter = 1; - } - - } else irequest = neighbor->request(this); -} - -/* ---------------------------------------------------------------------- - neighbor callback to inform pair style of neighbor list to use - regular or rRESPA -------------------------------------------------------------------------- */ - -void PairCMMCommon::init_list(int id, NeighList *ptr) -{ - if (id == 0) list = ptr; - else if (id == 1) listinner = ptr; - else if (id == 2) listmiddle = ptr; - else if (id == 3) listouter = ptr; -} - -/* ---------------------------------------------------------------------- - init for one type pair i,j and corresponding j,i -------------------------------------------------------------------------- */ - -double PairCMMCommon::init_one(int i, int j) -{ - if (setflag[i][j] == 0) { - error->all(FLERR,"for CG styles, epsilon and sigma need to be set explicitly for all pairs."); - } - - const int cgt = cg_type[i][j]; - - if (cgt == CG_NOT_SET) - error->all(FLERR,"unrecognized LJ parameter flag"); - - lj1[i][j] = cg_prefact[cgt] * cg_pow1[cgt] * epsilon[i][j] * pow(sigma[i][j],cg_pow1[cgt]); - lj2[i][j] = cg_prefact[cgt] * cg_pow2[cgt] * epsilon[i][j] * pow(sigma[i][j],cg_pow2[cgt]); - lj3[i][j] = cg_prefact[cgt] * epsilon[i][j] * pow(sigma[i][j],cg_pow1[cgt]); - lj4[i][j] = cg_prefact[cgt] * epsilon[i][j] * pow(sigma[i][j],cg_pow2[cgt]); - - double mycut = cut[i][j]; - if (offset_flag) { - double ratio = sigma[i][j] / mycut; - offset[i][j] = cg_prefact[cgt] * epsilon[i][j] * (pow(ratio,cg_pow1[cgt]) - pow(ratio,cg_pow2[cgt])); - } else offset[i][j] = 0.0; - - if (allocated_coul) { - mycut = MAX(cut_lj[i][j],cut_coul[i][j]); - cut[i][j] = mycut; - cut_ljsq[i][j]=cut_lj[i][j]*cut_lj[i][j]; - cut_coulsq[i][j]=cut_coul[i][j]*cut_coul[i][j]; - if (offset_flag) { - double ratio = sigma[i][j] / cut_lj[i][j]; - offset[i][j] = cg_prefact[cgt] * epsilon[i][j] * (pow(ratio,cg_pow1[cgt]) - pow(ratio,cg_pow2[cgt])); - } else offset[i][j] = 0.0; - } - - // make sure data is stored symmetrically - lj1[j][i] = lj1[i][j]; - lj2[j][i] = lj2[i][j]; - lj3[j][i] = lj3[i][j]; - lj4[j][i] = lj4[i][j]; - offset[j][i] = offset[i][j]; - cg_type[j][i] = cg_type[i][j]; - cut[j][i] = mycut; - - if (allocated_coul) { - cut_lj[j][i]=cut_lj[i][j]; - cut_ljsq[j][i]=cut_ljsq[i][j]; - cut_coul[j][i]=cut_coul[i][j]; - cut_coulsq[j][i]=cut_coulsq[i][j]; - } - - // compute I,J contribution to long-range tail correction - // count total # of atoms of type I and J via Allreduce - if (tail_flag) { -#if 1 - error->all(FLERR,"tail correction not (yet) supported by CG potentials."); -#else - int *type = atom->type; - int nlocal = atom->nlocal; - - double count[2],all[2]; - count[0] = count[1] = 0.0; - for (int k = 0; k < nlocal; k++) { - if (type[k] == i) count[0] += 1.0; - if (type[k] == j) count[1] += 1.0; - } - MPI_Allreduce(count,all,2,MPI_DOUBLE,MPI_SUM,world); - - double sig2 = sigma[i][j]*sigma[i][j]; - double sig6 = sig2*sig2*sig2; - double rc3 = cut[i][j]*cut[i][j]*cut[i][j]; - double rc6 = rc3*rc3; - double rc9 = rc3*rc6; - etail_ij = 8.0*MY_PI*all[0]*all[1]*epsilon[i][j] * - sig6 * (sig6 - 3.0*rc6) / (9.0*rc9); - ptail_ij = 16.0*MY_PI*all[0]*all[1]*epsilon[i][j] * - sig6 * (2.0*sig6 - 3.0*rc6) / (9.0*rc9); -#endif - } - - return mycut; -} - -/* ---------------------------------------------------------------------- - proc 0 writes to restart file -------------------------------------------------------------------------- */ - -void PairCMMCommon::write_restart(FILE *fp) -{ - int i,j; - for (i = 1; i <= atom->ntypes; i++) { - for (j = i; j <= atom->ntypes; j++) { - fwrite(&setflag[i][j],sizeof(int),1,fp); - if (setflag[i][j]) { - fwrite(&cg_type[i][j],sizeof(int),1,fp); - fwrite(&epsilon[i][j],sizeof(double),1,fp); - fwrite(&sigma[i][j],sizeof(double),1,fp); - fwrite(&cut[i][j],sizeof(double),1,fp); - if (allocated_coul) { - fwrite(&cut_lj[i][j],sizeof(double),1,fp); - fwrite(&cut_coul[i][j],sizeof(double),1,fp); - } - } - } - } -} - -/* ---------------------------------------------------------------------- - proc 0 reads from restart file, bcasts -------------------------------------------------------------------------- */ - -void PairCMMCommon::read_restart(FILE *fp) -{ - int i,j; - int me = comm->me; - for (i = 1; i <= atom->ntypes; i++) { - for (j = i; j <= atom->ntypes; j++) { - if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp); - MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world); - if (setflag[i][j]) { - if (me == 0) { - fread(&cg_type[i][j],sizeof(int),1,fp); - fread(&epsilon[i][j],sizeof(double),1,fp); - fread(&sigma[i][j],sizeof(double),1,fp); - fread(&cut[i][j],sizeof(double),1,fp); - if(allocated_coul) { - fread(&cut_lj[i][j],sizeof(double),1,fp); - fread(&cut_coul[i][j],sizeof(double),1,fp); - } - } - MPI_Bcast(&cg_type[i][j],1,MPI_INT,0,world); - MPI_Bcast(&epsilon[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&sigma[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&cut[i][j],1,MPI_DOUBLE,0,world); - if (allocated_coul) { - MPI_Bcast(&cut_lj[i][j],1,MPI_DOUBLE,0,world); - MPI_Bcast(&cut_coul[i][j],1,MPI_DOUBLE,0,world); - } - } - } - } -} - -/* ---------------------------------------------------------------------- - proc 0 writes to restart file -------------------------------------------------------------------------- */ - -void PairCMMCommon::write_restart_settings(FILE *fp) -{ - fwrite(&cut_lj_global,sizeof(double),1,fp); - fwrite(&cut_coul_global,sizeof(double),1,fp); - fwrite(&kappa,sizeof(double),1,fp); - fwrite(&offset_flag,sizeof(int),1,fp); - fwrite(&mix_flag,sizeof(int),1,fp); - fwrite(&tail_flag,sizeof(int),1,fp); -} - -/* ---------------------------------------------------------------------- - proc 0 reads from restart file, bcasts -------------------------------------------------------------------------- */ - -void PairCMMCommon::read_restart_settings(FILE *fp) -{ - int me = comm->me; - if (me == 0) { - fread(&cut_lj_global,sizeof(double),1,fp); - fread(&cut_coul_global,sizeof(double),1,fp); - fread(&kappa,sizeof(double),1,fp); - fread(&offset_flag,sizeof(int),1,fp); - fread(&mix_flag,sizeof(int),1,fp); - fread(&tail_flag,sizeof(int),1,fp); - } - MPI_Bcast(&cut_lj_global,1,MPI_DOUBLE,0,world); - MPI_Bcast(&cut_coul_global,1,MPI_DOUBLE,0,world); - MPI_Bcast(&kappa,1,MPI_DOUBLE,0,world); - MPI_Bcast(&offset_flag,1,MPI_INT,0,world); - MPI_Bcast(&mix_flag,1,MPI_INT,0,world); - MPI_Bcast(&tail_flag,1,MPI_INT,0,world); - cut_coulsq_global = cut_coul_global*cut_coul_global; -} - -/* ---------------------------------------------------------------------- */ - -double PairCMMCommon::memory_usage() -{ - double bytes=Pair::memory_usage(); - - int n = atom->ntypes; - - // setflag/cg_type - bytes += (n+1)*(n+1)*sizeof(int)*2; - // cut/cutsq/epsilon/sigma/offset/lj1/lj2/lj3/lj4 - bytes += (n+1)*(n+1)*sizeof(double)*9; - - return bytes; -} - -/* ------------------------------------------------------------------------ */ - -double PairCMMCommon::eval_single(int coul_type, int i, int j, int itype, int jtype, - double rsq, double factor_coul, double factor_lj, - double &fforce) -{ - double lj_force, lj_erg, coul_force, coul_erg; - lj_force=lj_erg=coul_force=coul_erg=0.0; - - if (rsq < cut_ljsq[itype][jtype]) { - - const int cgt = cg_type[itype][jtype]; - const double cgpow1 = cg_pow1[cgt]; - const double cgpow2 = cg_pow2[cgt]; - const double cgpref = cg_prefact[cgt]; - - const double ratio = sigma[itype][jtype]/sqrt(rsq); - const double eps = epsilon[itype][jtype]; - - lj_force = cgpref*eps * (cgpow1*pow(ratio,cgpow1) - - cgpow2*pow(ratio,cgpow2))/rsq; - lj_erg = cgpref*eps * (pow(ratio,cgpow1) - pow(ratio,cgpow2)); - } - - if (rsq < cut_coul[itype][jtype]) { - if(coul_type == CG_COUL_LONG) { - error->all(FLERR,"single energy computation with long-range coulomb not supported by CG potentials."); - } else if ((coul_type == CG_COUL_CUT) || (coul_type == CG_COUL_DEBYE)) { - const double r2inv = 1.0/rsq; - const double rinv = sqrt(r2inv); - const double qscreen=exp(-kappa*sqrt(rsq)); - coul_force = force->qqrd2e * atom->q[i]*atom->q[j]*rinv * qscreen * (kappa + rinv); - coul_erg = force->qqrd2e * atom->q[i]*atom->q[j]*rinv * qscreen; - // error->all(FLERR,"single energy computation with coulomb not supported by CG potentials."); - } else if (coul_type == CG_COUL_NONE) { - ; // do nothing - } else { - error->all(FLERR,"unknown coulomb type with CG potentials."); - } - } - - fforce = factor_lj*lj_force + factor_coul*coul_force; - return factor_lj*lj_erg + factor_coul*coul_erg; -} diff --git a/src/USER-CG-CMM/pair_cmm_common.h b/src/USER-CG-CMM/pair_cmm_common.h index 327987e6a9..e69de29bb2 100644 --- a/src/USER-CG-CMM/pair_cmm_common.h +++ b/src/USER-CG-CMM/pair_cmm_common.h @@ -1,692 +0,0 @@ -/* -*- c++ -*- ---------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator - http://lammps.sandia.gov, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov - - Copyright (2003) Sandia Corporation. Under the terms of Contract - DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains - certain rights in this software. This software is distributed under - the GNU General Public License. - - See the README file in the top-level LAMMPS directory. -------------------------------------------------------------------------- */ - -/* ---------------------------------------------------------------------- - Common functionality for the CMM coarse grained MD potentials. - Contributing author: Axel Kohlmeyer -------------------------------------------------------------------------- */ - -#ifndef LMP_PAIR_CMM_COMMON_H -#define LMP_PAIR_CMM_COMMON_H - -#include "pair.h" -#include "atom.h" -#include "comm.h" -#include "error.h" -#include "force.h" -#include "neighbor.h" -#include "neigh_list.h" -#include "neigh_request.h" -#include "respa.h" -#include "update.h" - -#include "cg_cmm_parms.h" - -#include "math.h" - -namespace LAMMPS_NS { - -#define EWALD_F 1.12837917 -#define EWALD_P 0.3275911 -#define EWALD_A1 0.254829592 -#define EWALD_A2 -0.284496736 -#define EWALD_A3 1.421413741 -#define EWALD_A4 -1.453152027 -#define EWALD_A5 1.061405429 - - class PairCMMCommon : public Pair , public CGCMMParms { - public: - - PairCMMCommon(class LAMMPS *); - virtual ~PairCMMCommon(); - - virtual void settings(int, char **); - virtual void coeff(int, char **); - virtual void init_style(); - virtual void init_list(int, class NeighList *); - virtual 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 double memory_usage(); - - protected: - - // coarse grain flags - int **cg_type; - - // lennard jones parameters - double cut_lj_global, **cut, **cut_lj, **cut_ljsq; - double **epsilon, **sigma; - double **lj1, **lj2, **lj3, **lj4, **offset; - - // coulomb parameters - int allocated_coul; // 0/1 = whether coulomb arrays are allocated - double cut_coul_global, cut_coulsq_global, kappa, g_ewald; - double **cut_coul, **cut_coulsq; - - // r-RESPA parameters - double *cut_respa; - - // methods - virtual void allocate(); - - private: - - // disable default constructor - PairCMMCommon(); - - protected: - // general optimizeable real space loops - template < const int EVFLAG, const int EFLAG, - const int NEWTON_PAIR, const int COUL_TYPE > - void eval_verlet(); - template < const int NEWTON_PAIR, const int COUL_TYPE > - void eval_inner(); - template < const int NEWTON_PAIR, const int COUL_TYPE > - void eval_middle(); - template < const int EVFLAG, const int EFLAG, const int VFLAG, - const int NEWTON_PAIR, const int COUL_TYPE > - void eval_outer(); - - // this one is not performance critical... no template needed. - double eval_single(int, int, int, int, int, - double, double, double, double &); - }; - -/* ---------------------------------------------------------------------- */ -/* this is the inner heart of the CG potentials. */ -#define CG_LJ_INNER(eflag,fvar) \ - fvar=factor_lj; \ - if (eflag) evdwl=factor_lj; \ - \ - if (cgt == CG_LJ12_4) { \ - const double r4inv=r2inv*r2inv; \ - \ - fvar *= r4inv*(lj1[itype][jtype]*r4inv*r4inv \ - - lj2[itype][jtype]); \ - \ - if (eflag) { \ - evdwl *= r4inv*(lj3[itype][jtype]*r4inv*r4inv \ - - lj4[itype][jtype]) - offset[itype][jtype]; \ - } \ - } else if (cgt == CG_LJ9_6) { \ - const double r3inv = r2inv*sqrt(r2inv); \ - const double r6inv = r3inv*r3inv; \ - fvar *= r6inv*(lj1[itype][jtype]*r3inv \ - - lj2[itype][jtype]); \ - if (eflag) { \ - evdwl *= r6inv*(lj3[itype][jtype]*r3inv \ - - lj4[itype][jtype]) - offset[itype][jtype]; \ - } \ - } else if (cgt == CG_LJ12_6) { \ - const double r6inv = r2inv*r2inv*r2inv; \ - fvar *= r6inv*(lj1[itype][jtype]*r6inv \ - - lj2[itype][jtype]); \ - if (eflag) { \ - evdwl *= r6inv*(lj3[itype][jtype]*r6inv \ - - lj4[itype][jtype]) - offset[itype][jtype]; \ - } \ - } else { \ - /* do nothing. this is a "cannot happen(TM)" case */ \ - ; \ - } - -#define CG_LJ_ENERGY(eflag) \ - if (eflag) { \ - evdwl=factor_lj; \ - \ - if (cgt == CG_LJ12_4) { \ - const double r4inv=r2inv*r2inv; \ - evdwl *= r4inv*(lj3[itype][jtype]*r4inv*r4inv \ - - lj4[itype][jtype]) - offset[itype][jtype]; \ - } else if (cgt == CG_LJ9_6) { \ - const double r3inv = r2inv*sqrt(r2inv); \ - const double r6inv = r3inv*r3inv; \ - evdwl *= r6inv*(lj3[itype][jtype]*r3inv \ - - lj4[itype][jtype]) - offset[itype][jtype]; \ - } else if (cgt == CG_LJ12_6) { \ - const double r6inv = r2inv*r2inv*r2inv; \ - evdwl *= r6inv*(lj3[itype][jtype]*r6inv \ - - lj4[itype][jtype]) - offset[itype][jtype]; \ - } else { \ - /* do nothing. this is a "cannot happen(TM)" case */ \ - ; \ - } \ - } \ - - - - template < const int EVFLAG, const int EFLAG, - const int NEWTON_PAIR, const int COUL_TYPE > - void PairCMMCommon::eval_verlet() - { - double ** const x = atom->x; - double ** const f = atom->f; - const double * const q = atom->q; - const int * const type = atom->type; - const int nlocal = atom->nlocal; - const double * const special_lj = force->special_lj; - const double * const special_coul = force->special_coul; - const double qqrd2e = force->qqrd2e; - double factor_lj,factor_coul; - - const int inum = list->inum; - const int * const ilist = list->ilist; - const int * const numneigh = list->numneigh; - int * const * const firstneigh = list->firstneigh; - - // loop over neighbors of my atoms - - int ii,jj; - for (ii = 0; ii < inum; ii++) { - const int i = ilist[ii]; - const double xtmp = x[i][0]; - const double ytmp = x[i][1]; - const double ztmp = x[i][2]; - double qtmp = (COUL_TYPE != CG_COUL_NONE) ? q[i] : 0.0; - - const int itype = type[i]; - const int * const jlist = firstneigh[i]; - const int jnum = numneigh[i]; - - for (jj = 0; jj < jnum; jj++) { - int j2 = jlist[jj]; - factor_lj = special_lj[sbmask(j2)]; - factor_coul = special_coul[sbmask(j2)]; - const int j = j2 & NEIGHMASK; - - const double delx = xtmp - x[j][0]; - const double dely = ytmp - x[j][1]; - const double delz = ztmp - x[j][2]; - const double rsq = delx*delx + dely*dely + delz*delz; - const int jtype = type[j]; - - double evdwl = 0.0; - double ecoul = 0.0; - double fpair = 0.0; - - const double r2inv = 1.0/rsq; - const int cgt=cg_type[itype][jtype]; - - if (rsq < cutsq[itype][jtype]) { - if (COUL_TYPE == CG_COUL_NONE) { - CG_LJ_INNER(EFLAG,fpair); - fpair *= r2inv; - } else { - double forcelj = 0.0; - double forcecoul = 0.0; - - if (rsq < cut_ljsq[itype][jtype]) { - CG_LJ_INNER(EFLAG,forcelj); - } - - // coulomb with cutoff and screening - if ((COUL_TYPE == CG_COUL_CUT) || (COUL_TYPE == CG_COUL_DEBYE)) { - if (rsq < cut_coulsq[itype][jtype]) { - double r=sqrt(rsq); - double qscreen=exp(-kappa*r); - forcecoul = factor_coul * qqrd2e - * qtmp * q[j] * qscreen * (kappa + 1.0/r); - if (EFLAG) ecoul=factor_coul*qqrd2e - * qtmp*q[j] * qscreen / r; - } - } - - if (COUL_TYPE == CG_COUL_LONG) { - if (rsq < cut_coulsq_global) { - if (!ncoultablebits || rsq <= tabinnersq) { - const double r = sqrt(rsq); - - const double grij = g_ewald * r; - const double expm2 = exp(-grij*grij); - const double t = 1.0 / (1.0 + EWALD_P*grij); - const double erfc = t * (EWALD_A1+t*(EWALD_A2+t*(EWALD_A3+t*(EWALD_A4+t*EWALD_A5)))) * expm2; - const double prefactor = qqrd2e * qtmp*q[j]/r; - forcecoul = prefactor * (erfc + EWALD_F*grij*expm2); - if (EFLAG) ecoul = prefactor*erfc; - if (factor_coul < 1.0) { - forcecoul -= (1.0-factor_coul)*prefactor; - if (EFLAG) ecoul -= (1.0-factor_coul)*prefactor; - } - } else { - union_int_float_t rsq_lookup; - rsq_lookup.f = rsq; - int itable = rsq_lookup.i & ncoulmask; - itable >>= ncoulshiftbits; - const double fraction = (rsq_lookup.f - rtable[itable]) * drtable[itable]; - const double table = ftable[itable] + fraction*dftable[itable]; - forcecoul = qtmp*q[j] * table; - if (EFLAG) { - const double table2 = etable[itable] + fraction*detable[itable]; - ecoul = qtmp*q[j] * table2; - } - if (factor_coul < 1.0) { - const double table2 = ctable[itable] + fraction*dctable[itable]; - const double prefactor = qtmp*q[j] * table2; - forcecoul -= (1.0-factor_coul)*prefactor; - if (EFLAG) ecoul -= (1.0-factor_coul)*prefactor; - } - } - } - } - fpair = (forcecoul + forcelj) * r2inv; - } - f[i][0] += delx*fpair; - f[i][1] += dely*fpair; - f[i][2] += delz*fpair; - if (NEWTON_PAIR || j < nlocal) { - f[j][0] -= delx*fpair; - f[j][1] -= dely*fpair; - f[j][2] -= delz*fpair; - } - if (EVFLAG) ev_tally(i,j,nlocal,NEWTON_PAIR, - evdwl,ecoul,fpair,delx,dely,delz); - } - } - } - if (vflag_fdotr) virial_fdotr_compute(); - } - -/* ---------------------------------------------------------------------- */ - - template < const int NEWTON_PAIR, const int COUL_TYPE > - void PairCMMCommon::eval_inner() - { - double ** const x = atom->x; - double ** const f = atom->f; - const double * const q = atom->q; - const int * const type = atom->type; - const int nlocal = atom->nlocal; - const double * const special_lj = force->special_lj; - const double * const special_coul = force->special_coul; - const double qqrd2e = force->qqrd2e; - double factor_lj,factor_coul; - - const int inum = listinner->inum; - const int * const ilist = listinner->ilist; - const int * const numneigh = listinner->numneigh; - int * const * const firstneigh = listinner->firstneigh; - - const double cut_out_on = cut_respa[0]; - const double cut_out_off = cut_respa[1]; - - const double cut_out_diff = cut_out_off - cut_out_on; - const double cut_out_on_sq = cut_out_on*cut_out_on; - const double cut_out_off_sq = cut_out_off*cut_out_off; - - // loop over neighbors of my atoms - - int ii,jj; - for (ii = 0; ii < inum; ii++) { - const int i = ilist[ii]; - const double xtmp = x[i][0]; - const double ytmp = x[i][1]; - const double ztmp = x[i][2]; - double qtmp = (COUL_TYPE != CG_COUL_NONE) ? q[i] : 0.0; - const int itype = type[i]; - const int * const jlist = firstneigh[i]; - const int jnum = numneigh[i]; - - for (jj = 0; jj < jnum; jj++) { - int j2 = jlist[jj]; - factor_lj = special_lj[sbmask(j2)]; - factor_coul = special_coul[sbmask(j2)]; - const int j = j2 & NEIGHMASK; - - const double delx = xtmp - x[j][0]; - const double dely = ytmp - x[j][1]; - const double delz = ztmp - x[j][2]; - const double rsq = delx*delx + dely*dely + delz*delz; - const int jtype = type[j]; - - double evdwl = 0.0; - double ecoul = 0.0; - double fpair = 0.0; - - const double r2inv = 1.0/rsq; - const int cgt=cg_type[itype][jtype]; - - if (rsq < cut_out_off_sq) { - if (COUL_TYPE == CG_COUL_NONE) { - CG_LJ_INNER(0,fpair); - fpair *= r2inv; - if (rsq > cut_out_on_sq) { - const double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; - fpair *= 1.0 - rsw*rsw*(3.0 - 2.0*rsw); - } - } else { - double forcelj = 0.0; - double forcecoul = 0.0; - - if (rsq < cut_ljsq[itype][jtype]) { - CG_LJ_INNER(0,forcelj); - } - - forcecoul = qqrd2e * qtmp*q[j]*sqrt(r2inv); - if (factor_coul < 1.0) forcecoul -= (1.0 -factor_coul)*forcecoul; - - fpair = (forcecoul + forcelj) * r2inv; - if (rsq > cut_out_on_sq) { - const double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; - fpair *= 1.0 - rsw*rsw*(3.0 - 2.0*rsw); - } - } - - f[i][0] += delx*fpair; - f[i][1] += dely*fpair; - f[i][2] += delz*fpair; - if (NEWTON_PAIR || j < nlocal) { - f[j][0] -= delx*fpair; - f[j][1] -= dely*fpair; - f[j][2] -= delz*fpair; - } - } - } - } - } - -/* ---------------------------------------------------------------------- */ - - template < const int NEWTON_PAIR, const int COUL_TYPE > - void PairCMMCommon::eval_middle() - { - double ** const x = atom->x; - double ** const f = atom->f; - const double * const q = atom->q; - const int * const type = atom->type; - const int nlocal = atom->nlocal; - const double * const special_lj = force->special_lj; - const double * const special_coul = force->special_coul; - const double qqrd2e = force->qqrd2e; - double factor_lj,factor_coul; - - const int inum = listmiddle->inum; - const int * const ilist = listmiddle->ilist; - const int * const numneigh = listmiddle->numneigh; - int * const * const firstneigh = listmiddle->firstneigh; - - const double cut_in_off = cut_respa[0]; - const double cut_in_on = cut_respa[1]; - const double cut_out_on = cut_respa[2]; - const double cut_out_off = cut_respa[3]; - - const double cut_in_diff = cut_in_on - cut_in_off; - const double cut_out_diff = cut_out_off - cut_out_on; - const double cut_in_off_sq = cut_in_off*cut_in_off; - const double cut_in_on_sq = cut_in_on*cut_in_on; - const double cut_out_on_sq = cut_out_on*cut_out_on; - const double cut_out_off_sq = cut_out_off*cut_out_off; - - // loop over neighbors of my atoms - - int ii,jj; - for (ii = 0; ii < inum; ii++) { - const int i = ilist[ii]; - const double xtmp = x[i][0]; - const double ytmp = x[i][1]; - const double ztmp = x[i][2]; - double qtmp = (COUL_TYPE != CG_COUL_NONE) ? q[i] : 0.0; - const int itype = type[i]; - const int * const jlist = firstneigh[i]; - const int jnum = numneigh[i]; - - for (jj = 0; jj < jnum; jj++) { - int j2 = jlist[jj]; - factor_lj = special_lj[sbmask(j2)]; - factor_coul = special_coul[sbmask(j2)]; - const int j = j2 & NEIGHMASK; - - const double delx = xtmp - x[j][0]; - const double dely = ytmp - x[j][1]; - const double delz = ztmp - x[j][2]; - const double rsq = delx*delx + dely*dely + delz*delz; - const int jtype = type[j]; - - double evdwl = 0.0; - double ecoul = 0.0; - double fpair = 0.0; - - const double r2inv = 1.0/rsq; - const int cgt=cg_type[itype][jtype]; - - if (rsq < cut_out_off_sq && rsq > cut_in_off_sq) { - if (COUL_TYPE == CG_COUL_NONE) { - CG_LJ_INNER(0,fpair); - fpair *= r2inv; - if (rsq < cut_in_on_sq) { - const double rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; - fpair *= rsw*rsw*(3.0 - 2.0*rsw); - } - if (rsq > cut_out_on_sq) { - const double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; - fpair *= 1.0 + rsw*rsw*(2.0*rsw - 3.0); - } - } else { - double forcelj = 0.0; - double forcecoul = 0.0; - - if (rsq < cut_ljsq[itype][jtype]) { - CG_LJ_INNER(0,forcelj); - } - - forcecoul = qqrd2e * qtmp*q[j]*sqrt(r2inv); - if (factor_coul < 1.0) forcecoul -= (1.0 -factor_coul)*forcecoul; - - fpair = (forcecoul + forcelj) * r2inv; - if (rsq < cut_in_on_sq) { - const double rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; - fpair *= rsw*rsw*(3.0 - 2.0*rsw); - } - if (rsq > cut_out_on_sq) { - const double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; - fpair *= 1.0 + rsw*rsw*(2.0*rsw - 3.0); - } - } - - f[i][0] += delx*fpair; - f[i][1] += dely*fpair; - f[i][2] += delz*fpair; - if (NEWTON_PAIR || j < nlocal) { - f[j][0] -= delx*fpair; - f[j][1] -= dely*fpair; - f[j][2] -= delz*fpair; - } - } - } - } - } - -/* ---------------------------------------------------------------------- */ - - template < const int EVFLAG, const int EFLAG, const int VFLAG, - const int NEWTON_PAIR, const int COUL_TYPE > - void PairCMMCommon::eval_outer() - { - double ** const x = atom->x; - double ** const f = atom->f; - const double * const q = atom->q; - const int * const type = atom->type; - const int nlocal = atom->nlocal; - const double * const special_lj = force->special_lj; - const double * const special_coul = force->special_coul; - const double qqrd2e = force->qqrd2e; - double factor_lj,factor_coul; - - const int inum = listouter->inum; - const int * const ilist = listouter->ilist; - const int * const numneigh = listouter->numneigh; - int * const * const firstneigh = listouter->firstneigh; - - const double cut_in_off = cut_respa[2]; - const double cut_in_on = cut_respa[3]; - - const double cut_in_diff = cut_in_on - cut_in_off; - const double cut_in_off_sq = cut_in_off*cut_in_off; - const double cut_in_on_sq = cut_in_on*cut_in_on; - - // loop over neighbors of my atoms - - int ii,jj; - for (ii = 0; ii < inum; ii++) { - const int i = ilist[ii]; - const double xtmp = x[i][0]; - const double ytmp = x[i][1]; - const double ztmp = x[i][2]; - double qtmp = (COUL_TYPE != CG_COUL_NONE) ? q[i] : 0.0; - const int itype = type[i]; - const int * const jlist = firstneigh[i]; - const int jnum = numneigh[i]; - - for (jj = 0; jj < jnum; jj++) { - int j2 = jlist[jj]; - factor_lj = special_lj[sbmask(j2)]; - factor_coul = special_coul[sbmask(j2)]; - const int j = j2 & NEIGHMASK; - - const double delx = xtmp - x[j][0]; - const double dely = ytmp - x[j][1]; - const double delz = ztmp - x[j][2]; - const double rsq = delx*delx + dely*dely + delz*delz; - const int jtype = type[j]; - - double evdwl = 0.0; - double ecoul = 0.0; - double fpair = 0.0; - - const double r2inv = 1.0/rsq; - const int cgt=cg_type[itype][jtype]; - - if (rsq < cutsq[itype][jtype]) { - if (COUL_TYPE == CG_COUL_NONE) { - double forcelj=0.0; - - if (rsq > cut_in_off_sq) { - CG_LJ_INNER(0,forcelj); - fpair = forcelj*r2inv; - if (rsq < cut_in_on_sq) { - const double rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; - fpair *= rsw*rsw*(3.0 - 2.0*rsw); - } - - f[i][0] += delx*fpair; - f[i][1] += dely*fpair; - f[i][2] += delz*fpair; - if (NEWTON_PAIR || j < nlocal) { - f[j][0] -= delx*fpair; - f[j][1] -= dely*fpair; - f[j][2] -= delz*fpair; - } - } - - CG_LJ_ENERGY(EFLAG); - - if (VFLAG) { - if (rsq <= cut_in_off_sq) { - CG_LJ_INNER(0,fpair); - fpair *= r2inv; - } else if (rsq < cut_in_on_sq) { - fpair = forcelj*r2inv; - } - } - - if (EVFLAG) ev_tally(i,j,nlocal,NEWTON_PAIR, - evdwl,ecoul,fpair,delx,dely,delz); - } else { - double forcelj = 0.0; - double forcecoul = 0.0; - - if (rsq < cut_ljsq[itype][jtype]) { - CG_LJ_INNER(EFLAG,forcelj); - } - - // coulomb with cutoff and screening - if ((COUL_TYPE == CG_COUL_CUT) || (COUL_TYPE == CG_COUL_DEBYE)) { - if (rsq < cut_coulsq[itype][jtype]) { - double r=sqrt(rsq); - double qscreen=exp(-kappa*r); - forcecoul = factor_coul * qqrd2e - * qtmp * q[j] * qscreen * (kappa + 1.0/r); - if (EFLAG) ecoul=factor_coul*qqrd2e - * qtmp*q[j] * qscreen / r; - } - } - - if (COUL_TYPE == CG_COUL_LONG) { - if (rsq < cut_coulsq_global) { - if (!ncoultablebits || rsq <= tabinnersq) { - const double r = sqrt(rsq); - - const double grij = g_ewald * r; - const double expm2 = exp(-grij*grij); - const double t = 1.0 / (1.0 + EWALD_P*grij); - const double erfc = t * (EWALD_A1+t*(EWALD_A2+t*(EWALD_A3+t*(EWALD_A4+t*EWALD_A5)))) * expm2; - const double prefactor = qqrd2e * qtmp*q[j]/r; - forcecoul = prefactor * (erfc + EWALD_F*grij*expm2); - if (EFLAG) ecoul = prefactor*erfc; - if (factor_coul < 1.0) { - forcecoul -= (1.0-factor_coul)*prefactor; - if (EFLAG) ecoul -= (1.0-factor_coul)*prefactor; - } - } else { - union_int_float_t rsq_lookup; - rsq_lookup.f = rsq; - int itable = rsq_lookup.i & ncoulmask; - itable >>= ncoulshiftbits; - const double fraction = (rsq_lookup.f - rtable[itable]) * drtable[itable]; - const double table = ftable[itable] + fraction*dftable[itable]; - forcecoul = qtmp*q[j] * table; - if (EFLAG) { - const double table2 = etable[itable] + fraction*detable[itable]; - ecoul = qtmp*q[j] * table2; - } - if (factor_coul < 1.0) { - const double table2 = ctable[itable] + fraction*dctable[itable]; - const double prefactor = qtmp*q[j] * table2; - forcecoul -= (1.0-factor_coul)*prefactor; - if (EFLAG) ecoul -= (1.0-factor_coul)*prefactor; - } - } - } - } - fpair = (forcecoul + forcelj) * r2inv; - f[i][0] += delx*fpair; - f[i][1] += dely*fpair; - f[i][2] += delz*fpair; - if (NEWTON_PAIR || j < nlocal) { - f[j][0] -= delx*fpair; - f[j][1] -= dely*fpair; - f[j][2] -= delz*fpair; - } - if (EVFLAG) ev_tally(i,j,nlocal,NEWTON_PAIR, - evdwl,ecoul,fpair,delx,dely,delz); - } - } - } - } - } -/* ------------------------------------------------------------------------ */ - -} - -#undef EWALD_F -#undef EWALD_P -#undef EWALD_A1 -#undef EWALD_A2 -#undef EWALD_A3 -#undef EWALD_A4 -#undef EWALD_A5 -#endif diff --git a/src/USER-LB/fix_lb_rigid_pc_sphere.cpp b/src/USER-LB/fix_lb_rigid_pc_sphere.cpp index 8031bbbf98..abc104cb1f 100755 --- a/src/USER-LB/fix_lb_rigid_pc_sphere.cpp +++ b/src/USER-LB/fix_lb_rigid_pc_sphere.cpp @@ -1332,7 +1332,7 @@ void FixLbRigidPCSphere::set_xv() void FixLbRigidPCSphere::pre_neighbor() { - int original,oldimage,newimage; + imageint original,oldimage,newimage; for (int ibody = 0; ibody < nbody; ibody++) { original = imagebody[ibody]; @@ -1355,10 +1355,11 @@ void FixLbRigidPCSphere::pre_neighbor() // adjust image flags of any atom in a rigid body whose xcm was remapped - int *atomimage = atom->image; + imageint *atomimage = atom->image; int nlocal = atom->nlocal; - int ibody,idim,otherdims; + int ibody; + imageint idim,otherdims; for (int i = 0; i < nlocal; i++) { if (body[i] == -1) continue; diff --git a/src/USER-LB/fix_lb_rigid_pc_sphere.h b/src/USER-LB/fix_lb_rigid_pc_sphere.h index 069f38c35d..90ed979e28 100755 --- a/src/USER-LB/fix_lb_rigid_pc_sphere.h +++ b/src/USER-LB/fix_lb_rigid_pc_sphere.h @@ -78,7 +78,7 @@ class FixLbRigidPCSphere : public Fix { double **torque_fluid; double **torque_fluid_old; double **rotate; - int *imagebody; // image flags of xcm 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 diff --git a/src/USER-MISC/angle_cosine_shift_exp.cpp b/src/USER-MISC/angle_cosine_shift_exp.cpp index ee4c014b10..2941293be7 100644 --- a/src/USER-MISC/angle_cosine_shift_exp.cpp +++ b/src/USER-MISC/angle_cosine_shift_exp.cpp @@ -303,7 +303,6 @@ double AngleCosineShiftExp::single(int type, int i1, int i2, int i3) double s=sqrt(1.0-c*c); double cccpsss=c*cost[type]+s*sint[type]; - double cssmscc=c*sint[type]-s*cost[type]; if (doExpansion[type]) { diff --git a/src/USER-REAXC/reaxc_ffield.cpp b/src/USER-REAXC/reaxc_ffield.cpp index 7d587ddb27..a0a23777e5 100644 --- a/src/USER-REAXC/reaxc_ffield.cpp +++ b/src/USER-REAXC/reaxc_ffield.cpp @@ -52,7 +52,7 @@ char Read_Force_Field( char *ffield_file, reax_interaction *reax, /* open force field file */ if ( (fp = fopen( ffield_file, "r" ) ) == NULL ) { - fprintf( stderr, "error opening the force filed file! terminating...\n" ); + fprintf( stderr, "error opening the force field file! terminating...\n" ); MPI_Abort( comm, FILE_NOT_FOUND ); } diff --git a/src/USER-REAXC/reaxc_tool_box.cpp b/src/USER-REAXC/reaxc_tool_box.cpp index bee7bb6efe..5f18a9800c 100644 --- a/src/USER-REAXC/reaxc_tool_box.cpp +++ b/src/USER-REAXC/reaxc_tool_box.cpp @@ -388,7 +388,7 @@ int Allocate_Tokenizer_Space( char **line, char **backup, char ***tokens ) int Tokenize( char* s, char*** tok ) { char test[MAX_LINE]; - char *sep = "\t \n!="; + const char *sep = (const char *)"\t \n!="; char *word; int count=0; @@ -405,7 +405,7 @@ int Tokenize( char* s, char*** tok ) /***************** taken from lammps ************************/ /* safe malloc */ -void *smalloc( long n, char *name, MPI_Comm comm ) +void *smalloc( long n, const char *name, MPI_Comm comm ) { void *ptr; @@ -428,7 +428,7 @@ void *smalloc( long n, char *name, MPI_Comm comm ) /* safe calloc */ -void *scalloc( int n, int size, char *name, MPI_Comm comm ) +void *scalloc( int n, int size, const char *name, MPI_Comm comm ) { void *ptr; @@ -458,7 +458,7 @@ void *scalloc( int n, int size, char *name, MPI_Comm comm ) /* safe free */ -void sfree( void *ptr, char *name ) +void sfree( void *ptr, const char *name ) { if( ptr == NULL ) { fprintf( stderr, "WARNING: trying to free the already NULL pointer %s!\n", diff --git a/src/USER-REAXC/reaxc_tool_box.h b/src/USER-REAXC/reaxc_tool_box.h index b9e1f4a8db..2ef27dd6da 100644 --- a/src/USER-REAXC/reaxc_tool_box.h +++ b/src/USER-REAXC/reaxc_tool_box.h @@ -67,8 +67,8 @@ int Allocate_Tokenizer_Space( char**, char**, char*** ); int Tokenize( char*, char*** ); /* from lammps */ -void *smalloc( long, char*, MPI_Comm ); -void *scalloc( int, int, char*, MPI_Comm ); -void sfree( void*, char* ); +void *smalloc( long, const char*, MPI_Comm ); +void *scalloc( int, int, const char*, MPI_Comm ); +void sfree( void*, const char* ); #endif diff --git a/src/XTC/xdr_compat.h b/src/XTC/xdr_compat.h index 89d5ad36cf..ac318aa58c 100644 --- a/src/XTC/xdr_compat.h +++ b/src/XTC/xdr_compat.h @@ -221,94 +221,8 @@ extern void xdr_free (xdrproc_t __proc, char *__objp); } #endif - #endif /* XDR_COMPAT_H */ /* 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: Too many total bits for bitmapped lookup table - -Table size specified via pair_modify command is too large. Note that -a value of N generates a 2^N size table. - -E: Cannot have both pair_modify shift and tail set to yes - -These 2 options are contradictory. - -E: Cannot use pair tail corrections with 2d simulations - -The correction factors are only currently defined for 3d systems. - -W: Using pair tail corrections with nonperiodic system - -This is probably a bogus thing to do, since tail corrections are -computed by integrating the density of a periodic system out to -infinity. - -W: Using a manybody potential with bonds/angles/dihedrals and special_bond exclusions - -UNDOCUMENTED - -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 requres a KSpace style - -UNDOCUMENTED - -E: Pair style does not support pair_write - -The pair style does not have a single() function, so it can -not be invoked by pair write. - -E: Invalid atom types in pair_write command - -Atom types must range from 1 to Ntypes inclusive. - -E: Invalid style in pair_write command - -Self-explanatory. Check the input script. - -E: Invalid cutoffs in pair_write command - -Inner cutoff must be larger than 0.0 and less than outer cutoff. - -E: Cannot open pair_write file - -The specified output file for pair energies and forces cannot be -opened. Check that the path and name are correct. - -E: Bitmapped lookup tables require int/float be same size - -Cannot use pair tables on this machine, because of word sizes. Use -the pair_modify command with table 0 instead. - -W: Table inner cutoff >= outer cutoff - -You specified an inner cutoff for a Coulombic table that is longer -than the global cutoff. Probably not what you wanted. - -E: Too many exponent bits for lookup table - -Table size specified via pair_modify command does not work with your -machine's floating point representation. - -E: Too many mantissa bits for lookup table - -Table size specified via pair_modify command does not work with your -machine's floating point representation. - -E: Too few bits for lookup table - -Table size specified via pair_modify command does not work with your -machine's floating point representation. - */ diff --git a/src/atom.cpp b/src/atom.cpp index 98d199a013..a850c66f58 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -140,6 +140,10 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) cs_flag = csforce_flag = vforce_flag = ervelforce_flag= etag_flag = 0; rho_flag = e_flag = cv_flag = vest_flag = 0; + // Peridynamic scale factor + + pdscale = 1.0; + // ntype-length arrays mass = NULL; @@ -158,6 +162,7 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp) tag_enable = 1; map_style = map_user = 0; map_tag_max = 0; + map_maxarray = 0; map_nhash = 0; max_same = 0; @@ -1844,7 +1849,7 @@ bigint Atom::memory_usage() bytes += max_same*sizeof(int); if (map_style == 1) - bytes += memory->usage(map_array,max_array); + bytes += memory->usage(map_array,map_maxarray); else if (map_style == 2) { bytes += map_nbucket*sizeof(int); bytes += map_nhash*sizeof(HashElem); diff --git a/src/atom.h b/src/atom.h index 87a9ca6e65..fae87653cd 100644 --- a/src/atom.h +++ b/src/atom.h @@ -114,6 +114,10 @@ class Atom : protected Pointers { int cs_flag,csforce_flag,vforce_flag,ervelforce_flag,etag_flag; int rho_flag,e_flag,cv_flag,vest_flag; + // Peridynamics scale factor, used by dump cfg + + double pdscale; + // molecule templates // each template can be a set of consecutive molecules // each with same ID (stored in molecules) @@ -237,9 +241,10 @@ class Atom : protected Pointers { // global to local ID mapping - int *map_array; // direct map of length map_tag_max + 1 + int *map_array; // direct map via array that holds map_tag_max + int map_maxarray; // allocated size of map_array (1 larger than this) - struct HashElem { + struct HashElem { // hashed map tagint global; // key to search on = global ID int local; // value associated with key = local index int next; // next entry in this bucket, -1 if last @@ -251,8 +256,6 @@ class Atom : protected Pointers { int *map_bucket; // ptr to 1st entry in each bucket HashElem *map_hash; // hash table - int max_array; // allocated size of map_array (+1) - int max_nhash; // allocated size of hash table int max_same; // allocated size of sametag // spatial sorting of atoms @@ -333,9 +336,7 @@ Either all atoms IDs must be zero or none of them. E: New atom IDs exceed maximum allowed ID -The limit on atom IDs is set by the SMALLBIG, BIGBIG, SMALLSMALL -setting in your Makefile. See Section_start 2.2 of the manual for -more details. +See the setting for tagint in the src/lmptype.h file. E: Incorrect atom format in data file diff --git a/src/atom_map.cpp b/src/atom_map.cpp index eab9b226f3..c04676c2b8 100644 --- a/src/atom_map.cpp +++ b/src/atom_map.cpp @@ -60,7 +60,7 @@ void Atom::map_init() int recreate = 0; if (map_style != map_style_old) recreate = 1; - else if (map_style == 1 && map_tag_max > max_array) recreate = 1; + else if (map_style == 1 && map_tag_max > map_maxarray) recreate = 1; else if (map_style == 2 && nlocal+nghost > map_nhash) recreate = 1; // if not recreating: @@ -84,8 +84,8 @@ void Atom::map_init() map_delete(); if (map_style == 1) { - max_array = map_tag_max; - memory->create(map_array,max_array+1,"atom:map_array"); + map_maxarray = map_tag_max; + memory->create(map_array,map_maxarray+1,"atom:map_array"); for (int i = 0; i <= map_tag_max; i++) map_array[i] = -1; } else { diff --git a/src/atom_vec_atomic.h b/src/atom_vec_atomic.h index 8e3afd85ff..867e463394 100644 --- a/src/atom_vec_atomic.h +++ b/src/atom_vec_atomic.h @@ -75,8 +75,4 @@ E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. -U: Invalid atom ID in Atoms section of data file - -Atom IDs must be positive integers. - */ diff --git a/src/atom_vec_body.h b/src/atom_vec_body.h index 5bcf3d4e52..2843da0af1 100644 --- a/src/atom_vec_body.h +++ b/src/atom_vec_body.h @@ -143,8 +143,4 @@ E: Assigning body parameters to non-body atom Self-explanatory. -U: Invalid atom ID in Atoms section of data file - -Atom IDs must be positive integers. - */ diff --git a/src/atom_vec_charge.h b/src/atom_vec_charge.h index 5326179720..12afd908d9 100644 --- a/src/atom_vec_charge.h +++ b/src/atom_vec_charge.h @@ -81,8 +81,4 @@ E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. -U: Invalid atom ID in Atoms section of data file - -Atom IDs must be positive integers. - */ diff --git a/src/atom_vec_ellipsoid.h b/src/atom_vec_ellipsoid.h index 261cc75657..c2007d276b 100755 --- a/src/atom_vec_ellipsoid.h +++ b/src/atom_vec_ellipsoid.h @@ -126,8 +126,4 @@ E: Invalid shape in Ellipsoids section of data file Self-explanatory. -U: Invalid atom ID in Atoms section of data file - -Atom IDs must be positive integers. - */ diff --git a/src/atom_vec_hybrid.h b/src/atom_vec_hybrid.h index d0e89393e8..856be87c22 100644 --- a/src/atom_vec_hybrid.h +++ b/src/atom_vec_hybrid.h @@ -106,8 +106,4 @@ E: Invalid atom type in Atoms section of data file Atom types must range from 1 to specified # of types. -U: Invalid atom ID in Atoms section of data file - -Atom IDs must be positive integers. - */ diff --git a/src/atom_vec_line.h b/src/atom_vec_line.h index 258d930cf5..50dfeac288 100644 --- a/src/atom_vec_line.h +++ b/src/atom_vec_line.h @@ -133,8 +133,4 @@ 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. -U: Invalid atom ID in Atoms section of data file - -Atom IDs must be positive integers. - */ diff --git a/src/atom_vec_sphere.h b/src/atom_vec_sphere.h index b9535c23a0..fd82b7c5b1 100644 --- a/src/atom_vec_sphere.h +++ b/src/atom_vec_sphere.h @@ -102,8 +102,4 @@ E: Invalid density in Atoms section of data file Density value cannot be <= 0.0. -U: Invalid atom ID in Atoms section of data file - -Atom IDs must be positive integers. - */ diff --git a/src/atom_vec_tri.h b/src/atom_vec_tri.h index ea6c8e6461..6db175eb28 100644 --- a/src/atom_vec_tri.h +++ b/src/atom_vec_tri.h @@ -143,8 +143,4 @@ 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. -U: Invalid atom ID in Atoms section of data file - -Atom IDs must be positive integers. - */ diff --git a/src/balance.cpp b/src/balance.cpp index b315a4454b..e1bcf36924 100644 --- a/src/balance.cpp +++ b/src/balance.cpp @@ -721,116 +721,6 @@ int Balance::adjust(int n, double *split) return change; } -/* ---------------------------------------------------------------------- - OLD code: for local diffusion method that didn't work as well as RCB - adjust cuts between N slices in a dim via diffusive method - count = atoms per slice - split = current N+1 cuts, with 0.0 and 1.0 at end points - overwrite split with new cuts - diffusion means slices with more atoms than their neighbors "send" atoms, - by moving cut closer to sender, further from receiver -------------------------------------------------------------------------- */ - -void Balance::old_adjust(int iter, int n, bigint *count, double *split) -{ - // need to allocate this if start using it again - - double *cuts; - - // damping factor - - double damp = 0.5; - - // loop over slices - // cut I is between 2 slices (I-1 and I) with counts - // cut I+1 is between 2 slices (I and I+1) with counts - // for a cut between 2 slices, only slice with larger count adjusts it - // special treatment of end slices with only 1 neighbor - - bigint leftcount,mycount,rightcount; - double rho,target,targetleft,targetright; - - for (int i = 0; i < n; i++) { - if (i == 0) leftcount = MAXBIGINT; - else leftcount = count[i-1]; - mycount = count[i]; - if (i == n-1) rightcount = MAXBIGINT; - else rightcount = count[i+1]; - - // middle slice is <= both left and right, so do nothing - // special case if 2 slices both have count = 0 -> no change in cut - - if (mycount <= leftcount && mycount <= rightcount) { - if (leftcount == 0) cuts[i] = split[i]; - if (rightcount == 0) cuts[i+1] = split[i+1]; - continue; - } - - // rho = density of atoms in the slice - - rho = mycount / (split[i+1] - split[i]); - - // middle slice has more atoms than left or right slice - // send atoms in that dir - - if (mycount > leftcount) { - target = damp * 0.5*(mycount-leftcount); - cuts[i] = split[i] + target/rho; - } - if (mycount > rightcount) { - target = damp * 0.5*(mycount-rightcount); - cuts[i+1] = split[i+1] - target/rho; - } - - /* - // middle slice has more atoms then left or right slice - // if delta from middle to top slice > delta between top and bottom slice - // then send atoms both dirs to bring all 3 slices to same count - // else bottom slice is very low, so send atoms only in that dir - - if (mycount > leftcount && mycount > rightcount) { - if (mycount-MAX(leftcount,rightcount) >= fabs(leftcount-rightcount)) { - if (leftcount <= rightcount) { - targetleft = damp * - (rightcount-leftcount + (mycount-rightcount)/3.0); - targetright = damp * (mycount-rightcount)/3.0; - cuts[i] = split[i] + targetleft/rho; - cuts[i+1] = split[i+1] - targetright/rho; - } else { - targetleft = damp * (mycount-leftcount)/3.0; - targetright = damp * - (leftcount-rightcount + (mycount-leftcount)/3.0); - cuts[i] = split[i] + targetleft/rho; - cuts[i+1] = split[i+1] - targetright/rho; - } - } else if (leftcount < rightcount) { - target = damp * 0.5*(mycount-leftcount); - cuts[i] = split[i] + target/rho; - cuts[i+1] = split[i+1]; - } else if (rightcount < leftcount) { - target = damp * 0.5*(mycount-rightcount); - cuts[i+1] = split[i+1] - target/rho; - cuts[i] = split[i]; - } - - // middle slice has more atoms than only left or right slice - // send atoms only in that dir - - } else if (mycount > leftcount) { - target = damp * 0.5*(mycount-leftcount); - cuts[i] = split[i] + target/rho; - } else if (mycount > rightcount) { - target = damp * 0.5*(mycount-rightcount); - cuts[i+1] = split[i+1] - target/rho; - } - */ - } - - // overwrite adjustable splits with new cuts - - for (int i = 1; i < n; i++) split[i] = cuts[i]; -} - /* ---------------------------------------------------------------------- binary search for where value falls in N-length vec note that vec actually has N+1 values, but ignore last one diff --git a/src/balance.h b/src/balance.h index fda682cc98..ee1d171546 100644 --- a/src/balance.h +++ b/src/balance.h @@ -68,7 +68,6 @@ class Balance : protected Pointers { double imbalance_splits(int &); void tally(int, int, double *); int adjust(int, double *); - void old_adjust(int, int, bigint *, double *); int binary(double, int, double *); void debug_output(int, int, int, double *); }; diff --git a/src/body.h b/src/body.h index 606615e56e..4e36a86155 100644 --- a/src/body.h +++ b/src/body.h @@ -35,10 +35,10 @@ class Body : protected Pointers { // methods implemented by child classes - virtual int pack_comm_body(class AtomVecBody::Bonus *, double *) {return 0;} - virtual int unpack_comm_body(class AtomVecBody::Bonus *, double *) {return 0;} - virtual int pack_border_body(class AtomVecBody::Bonus *, double *) {return 0;} - virtual int unpack_border_body(class AtomVecBody::Bonus *, + 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; diff --git a/src/change_box.h b/src/change_box.h index 3e4f626eea..146751d314 100644 --- a/src/change_box.h +++ b/src/change_box.h @@ -121,9 +121,4 @@ W: Lost atoms via change_box: original %ld current %ld The command options you have used caused atoms to be lost. -U: Use of change_box with undefined lattice - -Must use lattice command with displace_box command if units option is -set to lattice. - */ diff --git a/src/compute_temp_ramp.h b/src/compute_temp_ramp.h index 987e16ad11..4eaa21de50 100644 --- a/src/compute_temp_ramp.h +++ b/src/compute_temp_ramp.h @@ -63,9 +63,4 @@ Self-explanatory. Check the input script syntax and compare to the documentation for the command. You can use -echo screen as a command-line option when running LAMMPS to see the offending line. -U: Use of compute temp/ramp with undefined lattice - -Must use lattice command with compute temp/ramp command if units -option is set to lattice. - */ diff --git a/src/create_box.h b/src/create_box.h index 3675fbf856..ffb77cc2c9 100644 --- a/src/create_box.h +++ b/src/create_box.h @@ -49,7 +49,8 @@ A simulation box can only be defined once. E: Cannot run 2d simulation with nonperiodic Z dimension -There is a conflict between the dimension and boundary commands. +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 @@ -62,22 +63,18 @@ such a region with the create_box command. E: No bonds allowed with this atom style -This means you cannot use an optional keyword that defines bond -properties. +Self-explanatory. E: No angles allowed with this atom style -This means you cannot use an optional keyword that defines angle -properties. +Self-explanatory. E: No dihedrals allowed with this atom style -This means you cannot use an optional keyword that defines dihedral -properties. +Self-explanatory. E: No impropers allowed with this atom style -This means you cannot use an optional keyword that defines improper -properties. +Self-explanatory. */ diff --git a/src/displace_atoms.h b/src/displace_atoms.h index ee746373f5..ab30ab5989 100644 --- a/src/displace_atoms.h +++ b/src/displace_atoms.h @@ -74,9 +74,4 @@ W: Lost atoms via displace_atoms: original %ld current %ld The command options you have used caused atoms to be lost. -U: Use of displace_atoms with undefined lattice - -Must use lattice command with displace_atoms command if units option -is set to lattice. - */ diff --git a/src/dump.h b/src/dump.h index e2e7275f38..41d8d5c38a 100644 --- a/src/dump.h +++ b/src/dump.h @@ -159,7 +159,7 @@ Cannot sort when running with more than 2^31 atoms. E: Too much per-proc info for dump Number of local atoms times number of columns must fit in a 32-bit -integer for a dump. +integer for dump. E: Too much buffered per-proc info for dump diff --git a/src/dump_cfg.cpp b/src/dump_cfg.cpp index a6f05dcfcf..5b74642fe6 100755 --- a/src/dump_cfg.cpp +++ b/src/dump_cfg.cpp @@ -130,22 +130,16 @@ void DumpCFG::init_style() void DumpCFG::write_header(bigint n) { - // special handling for atom style peri - // use average volume of particles to scale particles to mimic C atoms - // scale box dimension to sc lattice for C with sigma = 1.44 Angstroms - // special handling for unwrapped coordinates + // set scale factor used by AtomEye for CFG viz + // default = 1.0 + // for peridynamics, set to pre-computed PD scale factor + // so PD particles mimic C atoms + // for unwrapped coords, set to UNWRAPEXPAND (10.0) + // so molecules are not split across periodic box boundaries - double scale; - if (atom->peri_flag) { - int nlocal = atom->nlocal; - double vone = 0.0; - for (int i = 0; i < nlocal; i++) vone += atom->vfrac[i]; - double vave; - MPI_Allreduce(&vone,&vave,1,MPI_DOUBLE,MPI_SUM,world); - if (atom->natoms) vave /= atom->natoms; - if (vave > 0.0) scale = 1.44 / pow(vave,1.0/3.0); - } else if (unwrapflag == 1) scale = UNWRAPEXPAND; - else scale = 1.0; + double scale = 1.0; + if (atom->peri_flag) scale = atom->pdscale; + else if (unwrapflag == 1) scale = UNWRAPEXPAND; char str[64]; sprintf(str,"Number of particles = %s\n",BIGINT_FORMAT); @@ -273,9 +267,9 @@ void DumpCFG::write_lines(int n, double *mybuf) for (i = 0; i < n; i++) { for (j = 0; j < size_one; j++) { if (j == 0) { - fprintf(fp,"%f \n",mybuf[m]); + fprintf(fp,"%f \n",mybuf[m]); } else if (j == 1) { - fprintf(fp,"%s \n",typenames[(int) mybuf[m]]); + fprintf(fp,"%s \n",typenames[(int) mybuf[m]]); } else if (j >= 2) { if (vtype[j] == INT) fprintf(fp,vformat[j],static_cast (mybuf[m])); @@ -296,9 +290,9 @@ void DumpCFG::write_lines(int n, double *mybuf) for (i = 0; i < n; i++) { for (j = 0; j < size_one; j++) { if (j == 0) { - fprintf(fp,"%f \n",mybuf[m]); + fprintf(fp,"%f \n",mybuf[m]); } else if (j == 1) { - fprintf(fp,"%s \n",typenames[(int) mybuf[m]]); + fprintf(fp,"%s \n",typenames[(int) mybuf[m]]); } else if (j >= 2 && j <= 4) { unwrap_coord = (mybuf[m] - 0.5)/UNWRAPEXPAND + 0.5; fprintf(fp,vformat[j],unwrap_coord); diff --git a/src/dump_custom.h b/src/dump_custom.h index a873a97f21..87753095cb 100644 --- a/src/dump_custom.h +++ b/src/dump_custom.h @@ -192,13 +192,12 @@ Self-explantory. E: Dump_modify format string is too short -There are more fields to be dumped in a line of output than -your format string specifies. +There are more fields to be dumped in a line of output than your +format string specifies. E: Could not find dump custom compute ID -The compute ID needed by dump custom to compute a per-atom quantity -does not exist. +Self-explanatory. E: Could not find dump custom fix ID diff --git a/src/dump_dcd.h b/src/dump_dcd.h index 47b6afe0be..c04c760a01 100644 --- a/src/dump_dcd.h +++ b/src/dump_dcd.h @@ -27,7 +27,7 @@ namespace LAMMPS_NS { class DumpDCD : public Dump { public: DumpDCD(LAMMPS *, int, char**); - ~DumpDCD(); + virtual ~DumpDCD(); private: int natoms,ntotal; diff --git a/src/dump_local.h b/src/dump_local.h index dec5e27834..3e06906e9a 100644 --- a/src/dump_local.h +++ b/src/dump_local.h @@ -27,7 +27,7 @@ namespace LAMMPS_NS { class DumpLocal : public Dump { public: DumpLocal(LAMMPS *, int, char **); - ~DumpLocal(); + virtual ~DumpLocal(); private: int nevery; // dump frequency to check Fix against diff --git a/src/dump_xyz.h b/src/dump_xyz.h index 879b46e051..17503d53f1 100644 --- a/src/dump_xyz.h +++ b/src/dump_xyz.h @@ -27,7 +27,7 @@ namespace LAMMPS_NS { class DumpXYZ : public Dump { public: DumpXYZ(class LAMMPS *, int, char**); - ~DumpXYZ(); + virtual ~DumpXYZ(); protected: int ntypes; diff --git a/src/fix_adapt.cpp b/src/fix_adapt.cpp index 2f1793dfba..3f04cb8254 100644 --- a/src/fix_adapt.cpp +++ b/src/fix_adapt.cpp @@ -200,8 +200,16 @@ void FixAdapt::init() if (ad->which == PAIR) { anypair = 1; + Pair *pair = NULL; - Pair *pair = force->pair_match(ad->pstyle,1); + if (lmp->suffix_enable) { + char psuffix[128]; + strcpy(psuffix,ad->pstyle); + strcat(psuffix,"/"); + strcat(psuffix,lmp->suffix); + pair = force->pair_match(psuffix,1); + } + if (pair == NULL) pair = force->pair_match(ad->pstyle,1); if (pair == NULL) error->all(FLERR,"Fix adapt pair style does not exist"); void *ptr = pair->extract(ad->pparam,ad->pdim); if (ptr == NULL) diff --git a/src/fix_deform.h b/src/fix_deform.h index 1dae5e9b36..c8f7d8a829 100644 --- a/src/fix_deform.h +++ b/src/fix_deform.h @@ -132,8 +132,4 @@ 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. -U: Use of fix deform with undefined lattice - -A lattice must be defined to use fix deform with units = lattice. - */ diff --git a/src/fix_dt_reset.h b/src/fix_dt_reset.h index 4275aba1b3..92abf3b638 100644 --- a/src/fix_dt_reset.h +++ b/src/fix_dt_reset.h @@ -61,9 +61,4 @@ 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. -U: Use of fix dt/reset with undefined lattice - -Must use lattice command with fix dt/reset command if units option is -set to lattice. - */ diff --git a/src/fix_indent.h b/src/fix_indent.h index f84bb7991d..7fbeaad1a7 100644 --- a/src/fix_indent.h +++ b/src/fix_indent.h @@ -77,9 +77,4 @@ E: Variable for fix indent is not equal style Only equal-style variables can be used. -U: Use of fix indent with undefined lattice - -The lattice command must be used to define a lattice before using the -fix indent command. - */ diff --git a/src/fix_move.h b/src/fix_move.h index 9ad3c70890..02c01fa900 100644 --- a/src/fix_move.h +++ b/src/fix_move.h @@ -127,9 +127,4 @@ E: Resetting timestep is not allowed with fix move This is because fix move is moving atoms based on elapsed time. -U: Use of fix move with undefined lattice - -Must use lattice command with fix move command if units option is -set to lattice. - */ diff --git a/src/fix_recenter.h b/src/fix_recenter.h index 9ee5e46a14..0abe8dcf56 100644 --- a/src/fix_recenter.h +++ b/src/fix_recenter.h @@ -64,9 +64,4 @@ W: Fix recenter should come after all other integration fixes Other fixes may change the position of the center-of-mass, so fix recenter should come last. -U: Use of fix recenter with undefined lattice - -Must use lattice command with fix recenter command if units option is -set to lattice. - */ diff --git a/src/fix_restrain.h b/src/fix_restrain.h index 8804e3c98c..e7bb5118c2 100644 --- a/src/fix_restrain.h +++ b/src/fix_restrain.h @@ -86,7 +86,7 @@ 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 %ld %ld %ld %ld +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 15a7b6d932..3e525a2327 100644 --- a/src/fix_shear_history.h +++ b/src/fix_shear_history.h @@ -84,10 +84,4 @@ 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. -U: Too many touching neighbors - boost MAXTOUCH - -A granular simulation has too many neighbors touching one atom. The -MAXTOUCH parameter in fix_shear_history.cpp must be set larger and -LAMMPS must be re-built. - */ diff --git a/src/fix_wall.h b/src/fix_wall.h index 6e74045a3a..07bd0a5e24 100644 --- a/src/fix_wall.h +++ b/src/fix_wall.h @@ -98,9 +98,4 @@ E: Variable evaluation in fix wall gave bad value The returned value for epsilon or sigma < 0.0. -U: Use of fix wall with undefined lattice - -Must use lattice command with fix wall command if units option is set -to lattice. - */ diff --git a/src/fix_wall_harmonic.h b/src/fix_wall_harmonic.h index d8d7b309d6..b9efea7400 100644 --- a/src/fix_wall_harmonic.h +++ b/src/fix_wall_harmonic.h @@ -1,4 +1,4 @@ -/* ---------------------------------------------------------------------- +/* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator http://lammps.sandia.gov, Sandia National Laboratories Steve Plimpton, sjplimp@sandia.gov @@ -29,9 +29,6 @@ class FixWallHarmonic : public FixWall { FixWallHarmonic(class LAMMPS *, int, char **); void precompute(int) {} void wall_particle(int, int, double); - - private: - double offset[6]; }; } diff --git a/src/fix_wall_reflect.h b/src/fix_wall_reflect.h index 5bc3a879cd..971c30e698 100644 --- a/src/fix_wall_reflect.h +++ b/src/fix_wall_reflect.h @@ -79,9 +79,4 @@ W: Should not allow rigid bodies to bounce off relecting walls LAMMPS allows this, but their dynamics are not computed correctly. -U: Use of fix wall with undefined lattice - -Must use lattice command with fix wall command if units option is set -to lattice. - */ diff --git a/src/force.h b/src/force.h index c2109d0899..bb6788faf1 100644 --- a/src/force.h +++ b/src/force.h @@ -152,12 +152,4 @@ A command with an argument that specifies an integer or range of integers is using a value that is less than 1 or greater than the maximum allowed limit. -U: Expected floating point parameter in input script or data file - -The quantity being read is an integer on non-numeric value. - -U: Expected integer parameter in input script or data file - -The quantity being read is a floating point or non-numeric value. - */ diff --git a/src/image.h b/src/image.h index 58e634c09e..1d7854f302 100644 --- a/src/image.h +++ b/src/image.h @@ -177,8 +177,4 @@ E: Invalid image up vector Up vector cannot be (0,0,0). -U: Invalid image color range - -The lo value in the range is larger than the hi value. - */ diff --git a/src/lmpwindows.h b/src/lmpwindows.h index 9d3cbc6151..50f64eafb2 100644 --- a/src/lmpwindows.h +++ b/src/lmpwindows.h @@ -37,9 +37,16 @@ inline double trunc(double x) { } // Windows version of mkdir function does not have permission flags +#ifndef S_IRWXU # define S_IRWXU 0 +#endif +#ifndef S_IRGRP # define S_IRGRP 0 +#endif +#ifndef S_IXGRP # define S_IXGRP 0 +#endif inline int mkdir(const char *path, int){ return _mkdir(path); } + diff --git a/src/main.cpp b/src/main.cpp index 471be9aa46..fd8a4ebe3f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -27,8 +27,10 @@ int main(int argc, char **argv) MPI_Init(&argc,&argv); LAMMPS *lammps = new LAMMPS(argc,argv,MPI_COMM_WORLD); + lammps->input->file(); delete lammps; + MPI_Barrier(MPI_COMM_WORLD); MPI_Finalize(); } diff --git a/src/molecule.h b/src/molecule.h index 583c1f2ba3..e45e7b61dc 100644 --- a/src/molecule.h +++ b/src/molecule.h @@ -150,154 +150,161 @@ class Molecule : protected Pointers { E: Molecule template ID must be alphanumeric or underscore characters -UNDOCUMENTED +Self-explanatory. E: Insufficient Jacobi rotations for rigid molecule -UNDOCUMENTED +Eigensolve for rigid body was not sufficiently accurate. E: Unexpected end of molecule file -UNDOCUMENTED +Self-explanatory. E: Molecule file z center-of-mass must be 0.0 for 2d -UNDOCUMENTED +Self-explanatory. E: No atom count in molecule file -UNDOCUMENTED +Self-explanatory. E: Molecule file has bonds but no nbonds setting -UNDOCUMENTED +Self-explanatory. E: Molecule file has angles but no nangles setting -UNDOCUMENTED +Self-explanatory. E: Molecule file has dihedrals but no ndihedrals setting -UNDOCUMENTED +Self-explanatory. E: Molecule file has impropers but no nimpropers setting -UNDOCUMENTED +Self-explanatory. E: Molecule file shake flags not before shake atoms -UNDOCUMENTED +The order of the two sections is important. E: Molecule file shake flags not before shake bonds -UNDOCUMENTED +The order of the two sections is important. E: Unknown section in molecule file -UNDOCUMENTED +Self-explanatory. E: Molecule file needs both Special Bond sections -UNDOCUMENTED +Self-explanatory. E: Molecule file has special flags but no bonds -UNDOCUMENTED +Self-explanatory. E: Molecule file shake info is incomplete -UNDOCUMENTED +All 3 SHAKE sections are needed. E: Molecule file z coord must be 0.0 for 2d -UNDOCUMENTED +Self-explanatory. E: Invalid atom type in molecule file -UNDOCUMENTED +Atom types must range from 1 to specified # of types. E: Invalid atom diameter in molecule file -UNDOCUMENTED +Diameters must be >= 0.0. E: Invalid atom mass in molecule file -UNDOCUMENTED +Masses must be > 0.0. E: Invalid atom ID in Bonds section of molecule file -UNDOCUMENTED +Self-explanatory. E: Invalid bond type in Bonds section of molecule file -UNDOCUMENTED +Self-explanatory. E: Invalid atom ID in Angles section of molecule file -UNDOCUMENTED +Self-explanatory. E: Invalid angle type in Angles section of molecule file -UNDOCUMENTED +Self-explanatory. E: Invalid atom ID in dihedrals section of molecule file -UNDOCUMENTED +Self-explanatory. E: Invalid dihedral type in dihedrals section of molecule file -UNDOCUMENTED +Self-explanatory. E: Invalid atom ID in impropers section of molecule file -UNDOCUMENTED +Self-explanatory. E: Invalid improper type in impropers section of molecule file -UNDOCUMENTED +Self-explanatory. E: Molecule file special list does not match special count -UNDOCUMENTED +The number of values in an atom's special list does not match count. E: Invalid special atom index in molecule file -UNDOCUMENTED +Self-explanatory. E: Invalid shake flag in molecule file -UNDOCUMENTED +Self-explanatory. E: Invalid shake atom in molecule file -UNDOCUMENTED +Self-explanatory. E: Invalid shake bond type in molecule file -UNDOCUMENTED +Self-explanatory. E: Invalid shake angle type in molecule file -UNDOCUMENTED +Self-explanatory. W: Molecule attributes do not match system attributes -UNDOCUMENTED +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 -UNDOCUMENTED +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 -UNDOCUMENTED +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 -UNDOCUMENTED +This means the bonded atoms will not be excluded in pair-wise +interactions. E: Cannot open molecule file %s -UNDOCUMENTED +The specified file cannot be opened. Check that the path and name are +correct. */ diff --git a/src/neigh_bond.h b/src/neigh_bond.h index ad28ab5ac7..c9a1e9317a 100644 --- a/src/neigh_bond.h +++ b/src/neigh_bond.h @@ -13,7 +13,7 @@ /* ERROR/WARNING messages: -E: Bond atoms %ld %ld missing on proc %d at step %ld +E: Bond atoms %d %d missing on proc %d at step %ld The 2nd atom needed to compute a particular bond is missing on this processor. Typically this is because the pairwise cutoff is set too @@ -31,7 +31,7 @@ This error was detected by the neigh_modify check yes setting. It is an error because the bond atoms are so far apart it is ambiguous how it should be defined. -E: Angle atoms %ld %ld %ld missing on proc %d at step %ld +E: Angle atoms %d %d %d missing on proc %d at step %ld One or more of 3 atoms needed to compute a particular angle are missing on this processor. Typically this is because the pairwise @@ -51,7 +51,7 @@ This error was detected by the neigh_modify check yes setting. It is an error because the angle atoms are so far apart it is ambiguous how it should be defined. -E: Dihedral atoms %ld %ld %ld %ld missing on proc %d at step %ld +E: Dihedral atoms %d %d %d %d missing on proc %d at step %ld One or more of 4 atoms needed to compute a particular dihedral are missing on this processor. Typically this is because the pairwise @@ -71,7 +71,7 @@ This error was detected by the neigh_modify check yes setting. It is an error because the dihedral atoms are so far apart it is ambiguous how it should be defined. -E: Improper atoms %ld %ld %ld %ld missing on proc %d at step %ld +E: Improper atoms %d %d %d %d missing on proc %d at step %ld One or more of 4 atoms needed to compute a particular improper are missing on this processor. Typically this is because the pairwise diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 3a05f7e85b..731278a87e 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -320,7 +320,9 @@ void Neighbor::init() special_flag[3] = 1; else special_flag[3] = 2; - if (force->kspace) special_flag[1] = special_flag[2] = special_flag[3] = 2; + if (force->kspace || force->pair_match("coul/wolf",0) + || force->pair_match("coul/dsf",0)) + special_flag[1] = special_flag[2] = special_flag[3] = 2; // maxwt = max multiplicative factor on atom indices stored in neigh list diff --git a/src/pair.h b/src/pair.h index 635d74756d..96b63d4f72 100644 --- a/src/pair.h +++ b/src/pair.h @@ -249,7 +249,9 @@ infinity. W: Using a manybody potential with bonds/angles/dihedrals and special_bond exclusions -UNDOCUMENTED +This is likely not what you want to do. The exclusion settings will +eliminate neighbors in the neighbor list, which the manybody potential +needs to calculated its terms correctly. E: All pair coeffs are not set @@ -258,7 +260,7 @@ pair_coeff command before running a simulation. E: Pair style requres a KSpace style -UNDOCUMENTED +Self-explanatory. E: Pair style does not support pair_write diff --git a/src/pair_born_coul_wolf.cpp b/src/pair_born_coul_wolf.cpp index fc2feeaa56..4ecaa88340 100644 --- a/src/pair_born_coul_wolf.cpp +++ b/src/pair_born_coul_wolf.cpp @@ -37,6 +37,7 @@ using namespace MathConst; PairBornCoulWolf::PairBornCoulWolf(LAMMPS *lmp) : Pair(lmp) { writedata = 1; + single_enable = 0; } /* ---------------------------------------------------------------------- */ diff --git a/src/pair_coul_dsf.cpp b/src/pair_coul_dsf.cpp index 12c3f58ea5..09550cae11 100644 --- a/src/pair_coul_dsf.cpp +++ b/src/pair_coul_dsf.cpp @@ -43,7 +43,10 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairCoulDSF::PairCoulDSF(LAMMPS *lmp) : Pair(lmp) {} +PairCoulDSF::PairCoulDSF(LAMMPS *lmp) : Pair(lmp) +{ + single_enable = 0; +} /* ---------------------------------------------------------------------- */ @@ -59,7 +62,7 @@ PairCoulDSF::~PairCoulDSF() void PairCoulDSF::compute(int eflag, int vflag) { - int i,j,ii,jj,inum,jnum,itype,jtype; + int i,j,ii,jj,inum,jnum; double qtmp,xtmp,ytmp,ztmp,delx,dely,delz,ecoul,fpair; double r,rsq,r2inv,forcecoul,factor_coul; double prefactor,erfcc,erfcd,e_self,t; @@ -72,7 +75,6 @@ void PairCoulDSF::compute(int eflag, int vflag) double **x = atom->x; double **f = atom->f; double *q = atom->q; - int *type = atom->type; int nlocal = atom->nlocal; double *special_coul = force->special_coul; int newton_pair = force->newton_pair; @@ -91,11 +93,10 @@ void PairCoulDSF::compute(int eflag, int vflag) xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; - itype = type[i]; jlist = firstneigh[i]; jnum = numneigh[i]; - if (evflag) { + if (eflag) { e_self = -(e_shift/2.0 + alpha/MY_PIS) * qtmp*qtmp*qqrd2e; ev_tally(i,i,nlocal,0,0.0,e_self,0.0,0.0,0.0,0.0); } @@ -109,20 +110,17 @@ void PairCoulDSF::compute(int eflag, int vflag) dely = ytmp - x[j][1]; delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; - jtype = type[j]; - if (rsq < cutsq[itype][jtype]) { + if (rsq < cut_coulsq) { r2inv = 1.0/rsq; - if (rsq < cut_coulsq) { - r = sqrt(rsq); - prefactor = factor_coul * qqrd2e*qtmp*q[j]/r; - erfcd = exp(-alpha*alpha*rsq); - t = 1.0 / (1.0 + EWALD_P*alpha*r); - erfcc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * erfcd; - forcecoul = prefactor * (erfcc/r + 2.0*alpha/MY_PIS * erfcd + - r*f_shift) * r; - } + r = sqrt(rsq); + prefactor = factor_coul * qqrd2e*qtmp*q[j]/r; + erfcd = exp(-alpha*alpha*rsq); + t = 1.0 / (1.0 + EWALD_P*alpha*r); + erfcc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * erfcd; + forcecoul = prefactor * (erfcc/r + 2.0*alpha/MY_PIS * erfcd + + r*f_shift) * r; fpair = forcecoul * r2inv; f[i][0] += delx*fpair; @@ -135,10 +133,8 @@ void PairCoulDSF::compute(int eflag, int vflag) } if (eflag) { - if (rsq < cut_coulsq) { - ecoul = prefactor * (erfcc - r*e_shift - rsq*f_shift); - } else ecoul = 0.0; - } + ecoul = prefactor * (erfcc - r*e_shift - rsq*f_shift); + } else ecoul = 0.0; if (evflag) ev_tally(i,j,nlocal,newton_pair, 0.0,ecoul,fpair,delx,dely,delz); diff --git a/src/pair_coul_wolf.cpp b/src/pair_coul_wolf.cpp index 5c6b32013c..973d1e2c2d 100644 --- a/src/pair_coul_wolf.cpp +++ b/src/pair_coul_wolf.cpp @@ -34,7 +34,10 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairCoulWolf::PairCoulWolf(LAMMPS *lmp) : Pair(lmp) {} +PairCoulWolf::PairCoulWolf(LAMMPS *lmp) : Pair(lmp) +{ + single_enable = 0; +} /* ---------------------------------------------------------------------- */ diff --git a/src/pair_lj_cut_coul_dsf.cpp b/src/pair_lj_cut_coul_dsf.cpp index 63ec7b002b..a18e9ccf6b 100644 --- a/src/pair_lj_cut_coul_dsf.cpp +++ b/src/pair_lj_cut_coul_dsf.cpp @@ -43,7 +43,10 @@ using namespace MathConst; /* ---------------------------------------------------------------------- */ -PairLJCutCoulDSF::PairLJCutCoulDSF(LAMMPS *lmp) : Pair(lmp) {} +PairLJCutCoulDSF::PairLJCutCoulDSF(LAMMPS *lmp) : Pair(lmp) +{ + single_enable = 0; +} /* ---------------------------------------------------------------------- */ @@ -72,7 +75,7 @@ void PairLJCutCoulDSF::compute(int eflag, int vflag) int i,j,ii,jj,inum,jnum,itype,jtype; double qtmp,xtmp,ytmp,ztmp,delx,dely,delz,evdwl,ecoul,fpair; double r,rsq,r2inv,r6inv,forcecoul,forcelj,factor_coul,factor_lj; - double prefactor,erfcc,erfcd,e_self,t; + double prefactor,erfcc,erfcd,t; int *ilist,*jlist,*numneigh,**firstneigh; evdwl = ecoul = 0.0; @@ -84,8 +87,8 @@ void PairLJCutCoulDSF::compute(int eflag, int vflag) double *q = atom->q; int *type = atom->type; int nlocal = atom->nlocal; - double *special_coul = force->special_coul; double *special_lj = force->special_lj; + double *special_coul = force->special_coul; int newton_pair = force->newton_pair; double qqrd2e = force->qqrd2e; @@ -106,8 +109,8 @@ void PairLJCutCoulDSF::compute(int eflag, int vflag) jlist = firstneigh[i]; jnum = numneigh[i]; - if (evflag) { - e_self = -(e_shift/2.0 + alpha/MY_PIS) * qtmp*qtmp*qqrd2e; + if (eflag) { + double e_self = -(e_shift/2.0 + alpha/MY_PIS) * qtmp*qtmp*qqrd2e; ev_tally(i,i,nlocal,0,0.0,e_self,0.0,0.0,0.0,0.0); } @@ -139,7 +142,7 @@ void PairLJCutCoulDSF::compute(int eflag, int vflag) erfcc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * erfcd; forcecoul = prefactor * (erfcc/r + 2.0*alpha/MY_PIS * erfcd + r*f_shift) * r; - } + } else forcecoul = 0.0; fpair = (forcecoul + factor_lj*forcelj) * r2inv; f[i][0] += delx*fpair; diff --git a/src/read_data.h b/src/read_data.h index 6be56a4011..8d83cfeb06 100644 --- a/src/read_data.h +++ b/src/read_data.h @@ -188,7 +188,8 @@ Pair Coeffs. E: Must define pair_style before PairIJ Coeffs -UNDOCUMENTED +Must use a pair_style command before reading a data file that defines +PairIJ Coeffs. E: Invalid data file section: Bond Coeffs @@ -305,11 +306,12 @@ A section of the data file cannot be read by LAMMPS. E: No atoms in data file The header of the data file indicated that atoms would be included, -but they were not present. +but they are not present. E: Needed molecular topology not in data file -UNDOCUMENTED +The header of the data file indicated bonds, angles, etc would be +included, but they are not present. E: Needed bonus data not in data file @@ -343,19 +345,19 @@ See the setting for bigint in the src/lmptype.h file. E: No bonds allowed with this atom style -Self-explanatory. Check data file. +Self-explanatory. E: No angles allowed with this atom style -Self-explanatory. Check data file. +Self-explanatory. E: No dihedrals allowed with this atom style -Self-explanatory. Check data file. +Self-explanatory. E: No impropers allowed with this atom style -Self-explanatory. Check data file. +Self-explanatory. E: Bonds defined but no bond types @@ -375,7 +377,8 @@ The data file header lists improper but no improper types. E: No molecule topology allowed with atom style template -UNDOCUMENTED +The data file cannot specify the number of bonds, angles, etc, +because this info if inferred from the molecule templates. E: Did not assign all atoms correctly @@ -422,18 +425,4 @@ 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. -U: Invalid atom ID in Atoms section of data file - -Atom IDs must be positive integers. - -U: Molecular data file has too many atoms - -These kids of data files are currently limited to a number -of atoms that fits in a 32-bit integer. - -U: Needed topology not in data file - -The header of the data file indicated that bonds or angles or -dihedrals or impropers would be included, but they were not present. - */ diff --git a/src/read_dump.h b/src/read_dump.h index 8da05acfaf..168acff1ce 100644 --- a/src/read_dump.h +++ b/src/read_dump.h @@ -131,7 +131,7 @@ Self-explanatory. E: Read_dump xyz fields do not have consistent scaling/wrapping -UNDOCUMENTED +Self-explanatory. E: All read_dump x,y,z fields must be specified for scaled, triclinic coords @@ -145,7 +145,7 @@ See the setting for bigint in the src/lmptype.h file. E: Read dump of atom property that isn't allocated -UNDOCUMENTED +Self-explanatory. E: Duplicate fields in read_dump command @@ -156,8 +156,4 @@ E: If read_dump purges it cannot replace or trim These operations are not compatible. See the read_dump doc page for details. -U: Read_dump x,y,z fields do not have consistent scaling - -Self-explanatory. - */ diff --git a/src/read_restart.cpp b/src/read_restart.cpp index c0a9bac92e..978b2d2bc9 100644 --- a/src/read_restart.cpp +++ b/src/read_restart.cpp @@ -103,7 +103,7 @@ void ReadRestart::command(int narg, char **arg) if (multiproc && mpiioflag) error->all(FLERR, - "Read restart MPI-IO output not allowed with '%' in filename"); + "Read restart MPI-IO input not allowed with % in filename"); if (mpiioflag) { mpiio = new RestartMPIIO(lmp); diff --git a/src/read_restart.h b/src/read_restart.h index 9652e5ae7f..d764d2d405 100644 --- a/src/read_restart.h +++ b/src/read_restart.h @@ -82,13 +82,14 @@ 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 output not allowed with '%' in filename +E: Read restart MPI-IO input not allowed with % in filename -UNDOCUMENTED +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 -UNDOCUMENTED +Self-explanatory. E: Cannot open restart file %s @@ -96,7 +97,7 @@ Self-explanatory. E: Invalid flag in peratom section of restart file -UNDOCUMENTED +The format of this section of the file is not correct. E: Did not assign all atoms correctly @@ -115,7 +116,10 @@ When using a "*" in the restart file name, no matching file was found. E: Restart file incompatible with current version -UNDOCUMENTED +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 @@ -124,17 +128,18 @@ you are running. E: Imageint setting in lmptype.h is not compatible -UNDOCUMENTED +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 -Smallint stored in restart file is not consistent with LAMMPS version -you are running. +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 -Bigint stored in restart file is not consistent with LAMMPS version -you are running. +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 @@ -181,34 +186,34 @@ Unrecognized entry in restart file. E: Restart file is not a multi-proc file -UNDOCUMENTED +The file is inconsistent with the filename you specified for it. E: Restart file is a multi-proc file -UNDOCUMENTED +The file is inconsistent with the filename you specified for it. E: Restart file is a MPI-IO file -UNDOCUMENTED +The file is inconsistent with the filename you specified for it. E: Restart file is not a MPI-IO file -UNDOCUMENTED +The file is inconsistent with the filename you specified for it. E: Invalid LAMMPS restart file -UNDOCUMENTED +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 -UNDOCUMENTED +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 -UNDOCUMENTED - -U: Restart file version does not match LAMMPS version - -This may cause problems when reading the restart file. +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/region.h b/src/region.h index 9c16036573..dc39eff5da 100644 --- a/src/region.h +++ b/src/region.h @@ -107,9 +107,4 @@ E: Region cannot have 0 length rotation vector Self-explanatory. -U: Use of region with undefined lattice - -If units = lattice (the default) for the region command, then a -lattice must first be defined via the lattice command. - */ diff --git a/src/replicate.h b/src/replicate.h index bdc35601e2..6769ffbeec 100644 --- a/src/replicate.h +++ b/src/replicate.h @@ -68,7 +68,7 @@ system. E: Replicated system atom IDs are too big -UNDOCUMENTED +See the setting for tagint in the src/lmptype.h file. E: Replicated system is too big @@ -80,9 +80,4 @@ 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. -U: Replicated molecular system atom IDs are too big - -See the setting for the allowed atom ID size in the src/lmptype.h -file. - */ diff --git a/src/respa.h b/src/respa.h index 5bf3d053dd..26a719867d 100644 --- a/src/respa.h +++ b/src/respa.h @@ -126,13 +126,4 @@ E: Pair style does not support rRESPA inner/middle/outer You are attempting to use rRESPA options with a pair style that does not support them. -U: Fix shake with rRESPA computes invalid pressures - -This is a known bug in LAMMPS that has not yet been fixed. If you use -SHAKE with rRESPA and perform a constant volume simulation (e.g. using -fix npt) this only affects the output pressure, not the dynamics of -the simulation. If you use SHAKE with rRESPA and perform a constant -pressure simulation (e.g. using fix npt) then you will be -equilibrating to the wrong volume. - */ diff --git a/src/set.h b/src/set.h index 2bbe40fe3e..27c14e9cc7 100644 --- a/src/set.h +++ b/src/set.h @@ -88,11 +88,11 @@ Self-explanatory. E: Invalid density in set command -UNDOCUMENTED +Density must be > 0.0. E: Invalid volume in set command -UNDOCUMENTED +Volume must be > 0.0. E: Cannot set non-zero image flag for non-periodic dimension @@ -104,11 +104,11 @@ Self-explanatory. E: Set command integer vector does not exist -UNDOCUMENTED +Self-explanatory. E: Set command floating point vector does not exist -UNDOCUMENTED +Self-explanatory. E: Cannot use set atom with no atom IDs defined @@ -152,7 +152,8 @@ Self-explanatory. E: Cannot set bond topology types for atom style template -UNDOCUMENTED +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 @@ -180,10 +181,10 @@ atoms are too far apart to make a valid improper. E: Variable name for set command does not exist -UNDOCUMENTED +Self-explanatory. E: Variable for set command is invalid style -UNDOCUMENTED +Only atom-style variables can be used. */ diff --git a/src/thermo.h b/src/thermo.h index 4d909f3031..149f98dd16 100644 --- a/src/thermo.h +++ b/src/thermo.h @@ -385,12 +385,4 @@ 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. -U: Thermo keyword requires lattice be defined - -The xlat, ylat, zlat keywords refer to lattice properties. - -U: Thermo keyword in variable requires lattice be defined - -The xlat, ylat, zlat keywords refer to lattice properties. - */ diff --git a/src/variable.h b/src/variable.h index c6c21ac3f1..52c9a6a1ee 100644 --- a/src/variable.h +++ b/src/variable.h @@ -149,7 +149,7 @@ Check the file assigned to the variable. E: Atomfile variable could not read values -UNDOCUMENTED +Check the file assigned to the variable. E: Variable name must be alphanumeric or underscore characters @@ -170,7 +170,7 @@ command. E: Next command must list all universe and uloop variables -UNDOCUMENTED +This is to insure they stay in sync. E: Invalid syntax in variable formula @@ -256,7 +256,7 @@ in an equal-style variable. E: Atomfile-style variable in equal-style variable formula -UNDOCUMENTED +Self-explanatory. E: Mismatched variable in variable formula @@ -371,11 +371,11 @@ Self-explanatory. E: Atomfile variable in equal-style variable formula -UNDOCUMENTED +Self-explanatory. E: Invalid variable style in special function next -UNDOCUMENTED +Only file-style or atomfile-style variables can be used with next(). E: Indexed per-atom vector in variable formula without atom map @@ -386,7 +386,7 @@ map command will force an atom map to be created. E: Variable uses atom property that isn't allocated -UNDOCUMENTED +Self-explanatory. E: Invalid atom vector in variable formula @@ -416,18 +416,10 @@ correct. E: Cannot use atomfile-style variable unless atom map exists -UNDOCUMENTED +Self-explanatory. See the atom_modify command to create a map. E: Invalid atom ID in variable file -UNDOCUMENTED - -U: Afile variable could not read values - -UNDOCUMENTED - -U: Invalid variable in special function next - -Only file-style variables can be used with the next() function. +Self-explanatory. */ diff --git a/src/velocity.h b/src/velocity.h index 3b01e50e53..62905e7f75 100644 --- a/src/velocity.h +++ b/src/velocity.h @@ -115,7 +115,7 @@ Self-explanatory. E: Velocity rigid used with non-rigid fix-ID -UNDOCUMENTED +Self-explanatory. E: Attempting to rescale a 0.0 temperature @@ -123,7 +123,7 @@ Cannot rescale a temperature that is already 0.0. E: Cannot zero momentum of no atoms -UNDOCUMENTED +Self-explanatory. E: Could not find velocity temperature ID @@ -137,16 +137,6 @@ temperature. E: Fix ID for velocity does not exist -UNDOCUMENTED - -U: Cannot zero momentum of 0 atoms - -The collection of atoms for which momentum is being computed has no -atoms. - -U: Use of velocity with undefined lattice - -If units = lattice (the default) for the velocity set or velocity ramp -command, then a lattice must first be defined via the lattice command. +Self-explanatory. */ diff --git a/src/version.h b/src/version.h index 4954eddf20..1cac5f59e8 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define LAMMPS_VERSION "31 Jan 2014" +#define LAMMPS_VERSION "1 Feb 2014" diff --git a/src/write_data.h b/src/write_data.h index afdf270ab3..4f1a7bd69e 100644 --- a/src/write_data.h +++ b/src/write_data.h @@ -59,7 +59,7 @@ class WriteData : protected Pointers { E: Write_data command before simulation box is defined -UNDOCUMENTED +Self-explanatory. E: Illegal ... command @@ -69,10 +69,12 @@ command-line option when running LAMMPS to see the offending line. E: Atom count is inconsistent, cannot write data file -UNDOCUMENTED +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 -UNDOCUMENTED +The specified file cannot be opened. Check that the path and name are +correct. */ diff --git a/src/write_dump.h b/src/write_dump.h index e4108a4732..7695d2117d 100644 --- a/src/write_dump.h +++ b/src/write_dump.h @@ -45,85 +45,6 @@ command-line option when running LAMMPS to see the offending line. E: Invalid dump style -UNDOCUMENTED - -U: Too many total bits for bitmapped lookup table - -Table size specified via pair_modify command is too large. Note that -a value of N generates a 2^N size table. - -U: Cannot have both pair_modify shift and tail set to yes - -These 2 options are contradictory. - -U: Cannot use pair tail corrections with 2d simulations - -The correction factors are only currently defined for 3d systems. - -U: Using pair tail corrections with nonperiodic system - -This is probably a bogus thing to do, since tail corrections are -computed by integrating the density of a periodic system out to -infinity. - -U: Using a manybody potential with bonds/angles/dihedrals and special_bond exclusions - -UNDOCUMENTED - -U: 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. - -U: Pair style requres a KSpace style - -UNDOCUMENTED - -U: Pair style does not support pair_write - -The pair style does not have a single() function, so it can -not be invoked by pair write. - -U: Invalid atom types in pair_write command - -Atom types must range from 1 to Ntypes inclusive. - -U: Invalid style in pair_write command - -Self-explanatory. Check the input script. - -U: Invalid cutoffs in pair_write command - -Inner cutoff must be larger than 0.0 and less than outer cutoff. - -U: Cannot open pair_write file - -The specified output file for pair energies and forces cannot be -opened. Check that the path and name are correct. - -U: Bitmapped lookup tables require int/float be same size - -Cannot use pair tables on this machine, because of word sizes. Use -the pair_modify command with table 0 instead. - -U: Table inner cutoff >= outer cutoff - -You specified an inner cutoff for a Coulombic table that is longer -than the global cutoff. Probably not what you wanted. - -U: Too many exponent bits for lookup table - -Table size specified via pair_modify command does not work with your -machine's floating point representation. - -U: Too many mantissa bits for lookup table - -Table size specified via pair_modify command does not work with your -machine's floating point representation. - -U: Too few bits for lookup table - -Table size specified via pair_modify command does not work with your -machine's floating point representation. +The choice of dump style is unknown. */ diff --git a/src/write_restart.cpp b/src/write_restart.cpp index 81f5eb2a6e..422462c2bd 100644 --- a/src/write_restart.cpp +++ b/src/write_restart.cpp @@ -144,7 +144,7 @@ void WriteRestart::multiproc_options(int multiproc_caller, int mpiioflag_caller, if (multiproc && mpiioflag) error->all(FLERR, - "Restart file MPI-IO output not allowed with '%' in filename"); + "Restart file MPI-IO output not allowed with % in filename"); if (mpiioflag) { mpiio = new RestartMPIIO(lmp); diff --git a/src/write_restart.h b/src/write_restart.h index ff5ed6b245..ff42f5d709 100644 --- a/src/write_restart.h +++ b/src/write_restart.h @@ -85,21 +85,22 @@ Self-explanatory. Check the input script syntax and compare 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 +E: Restart file MPI-IO output not allowed with % in filename -UNDOCUMENTED +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 -UNDOCUMENTED +Self-explanatory. E: Cannot use write_restart fileper without % in restart file name -UNDOCUMENTED +Self-explanatory. E: Cannot use write_restart nfile without % in restart file name -UNDOCUMENTED +Self-explanatory. E: Atom count is inconsistent, cannot write restart file